@import url("ameframework.css");
@import url("assets/fonts/Inter/inter.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap");
@import url("less/bootstrap.less");
@import url("less/notyf.less");

:root {
  --appleEase: cubic-bezier(0.42, 0, 0.58, 1);
  --mediaItemShadow: inset 0px 0px 0px 1px rgb(200 200 200 / 16%);
  --mediaItemShadow-Shadow: 0 8px 40px rgb(0 0 0 / 0.55);
  --mediaItemShadow-ShadowSubtle: 0 4px 14px rgb(0 0 0 / 10%);
  --ciderShadow-Generic: var(--mediaItemShadow), 0 8px 40px rgb(0 0 0 / 0.55);
  --mediaItemRadius: 6px;
  --mediaItemRadiusRound: 100%;
  --contentInnerPadding: 16px;
  --navbarHeight: 48px;
  --selected: rgb(130 130 130 / 30%);
  --selected-click: rgb(80 80 80 / 30%);
  --hover: rgb(200 200 200 / 10%);
  --keyColor: #fa586a;
  --keyColor-rgb: 250, 88, 106;
  --keyColor-rollover: #ff8a9c;
  --keyColor-rollover-rgb: 255, 138, 156;
  --keyColor-pressed: #ff7183;
  --keyColor-pressed-rgb: 255, 113, 131;
  --keyColor-deepPressed: #ff8a9c;
  --keyColor-deepPressed-rgb: 255, 138, 156;
  --keyColor-disabled: rgba(250, 88, 106, 0.35);
  --navigationBarHeight: 38px;
  --modalBackground: #262626;
  --textColor: #eee;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  background: #0000;
  font-family: "Inter var experimental", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  transition: opacity .10s var(--appleEase);
}


a:-webkit-any-link {
  color: var(--keyColor);
}

hr {
  appearance: none;
  border: none;
  height: 1px;
  background-color: rgb(255 255 255 / 20%);
}

body[loading] {
  .app-navigation {
    pointer-events: none;
  }
}

body[platform='linux'] {
  background: #222;
}

body.notransparency::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.5;
  background-image: url();
}

*,
*:before,
*:after {
  box-sizing: inherit;
}


/* Modern style overlay scrollbars */
::-webkit-scrollbar {
  width: 16px;
  height: 24px;
}

::-webkit-scrollbar-button {
  display: none;
}

::-webkit-scrollbar-track-piece {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: transparent;
  border: 6px solid transparent;
  box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
  border-radius: 16px;
  min-height: 64px;
  transition: border 1s;
}

::-webkit-scrollbar-thumb:hover {
  border: 5px solid transparent;
  box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 80%);
}

[disabled] {
  pointer-events: none;
  opacity: 0.5;
}

#app {
  --color1: rgba(30, 30, 30, 30%);
  --color2: rgba(15, 15, 15, 30%);
  --bgColor: transparent;
  --bgWidth: 0px;
  --bgHeight: 0px;
  --chromeHeight: 55px;
  width: 100%;
  height: 100%;
  background: var(--color1);
  color: white;
  user-select: none;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background-size: 400% 400%;

  &.simplebg {
    background: #0e0e0e;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0.5;
      z-index:0;
      background-image: url();
    }

    .app-chrome {
      z-index: 1;
    }
  }
  //&::before {
  //  position: absolute;
  //  top: -50%;
  //  left: -50%;
  //  width: var(--bgWidth);
  //  height: var(--bgHeight);
  //  background-image: var(--bgColor);
  //  content: "";
  //  z-index: -1;
  //  transform: rotateZ(0deg);
  //  transform-origin: center;
  //  animation: bgRotate 10s linear infinite;
  //  filter: brightness(100%) saturate(200%) contrast(1.5);
  //}
}

.bgGradientMaterial-base {
  position: relative;
}

.bgGradientMaterial-base::before {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 250%;
  background-image: var(--bgColor);
  content: "";
  z-index: -1;
  transform: rotateZ(0deg);
  transform-origin: center;
  animation: bgRotate 10s linear infinite;
  filter: brightness(100%) saturate(200%) contrast(1.5);
}

@keyframes bgRotate {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}

[hidden] {
  display: none !important;
}

input[type="text"], input[type="number"] {
  background: #1c1c1c;
  border-radius: 3px;
  border: 1px solid rgb(200 200 200 / 25%);
  color: #eee;
  padding: 6px;
  font-size: 1em;
  font-family: inherit;
}


.bg-artwork--placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #222;
  z-index: -1;
  background-size: cover;
  background-position: center;
  opacity: 0.70;
}


.bg-artwork {
  position: absolute;
  width: 200%;
  background: var(--artwork);
  filter: brightness(200%) blur(180px) saturate(280%) contrast(2);
  opacity: 1;
  transition: opacity 0.25s var(--appleEase);
  pointer-events: none;
  transform: translateZ(0px);
  animation: rotateBg 35s linear infinite;
  backface-visibility: hidden;
}

@keyframes rotateBg {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.bg-artwork-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none;
  transform: translateZ(0px);
  z-index: -1;

  .bg-artwork.a {
    top: 0;
    left: 0;
    //mix-blend-mode: luminosity;
  }

  .bg-artwork.b {
    bottom: 0;
    right: 0;
    animation-direction: reverse;
    animation-delay: 10s;
  }

  &.noanimation {
    .bg-artwork {
      animation: none;
    }
  }
}

.artworkMaterial {
  position: relative;
  height:100%;
  width:100%;
  overflow: hidden;
  pointer-events: none;

  >img {
    position: absolute;
    width: 200%;
    opacity: 0.5;
    filter: brightness(200%) blur(180px) saturate(280%) contrast(2);
  }

  >img:first-child {
    top:0;
    left:0;
  }

  >img:last-child {
    bottom:0;
    right: 0;
    transform: rotate(180deg);
  }
}


[artwork-hidden] {
  transition: opacity .25s var(--appleEase);
  opacity: 0;
}

input[type="range"].web-slider {
  -webkit-appearance: none;
  height: 4px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 5px;
  background-size: 70% 100%;
  background-repeat: no-repeat;
}

input[type="range"].web-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: rgb(255 255 255);
  cursor: ew-resize;
  box-shadow: 0 0 2px 0 #555;
}

input[type=range].web-slider::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  background: transparent;
}

.nopadding {
  padding: 0px;
}

.md-btn {
  font-family: inherit;
  font-size: 14px;
}

#app-main {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  opacity: 1;
  overflow: hidden;
}

#app-sidebar {
  /* background-color: var(--color1); */
  height: 100%;
  width: 260px;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  position: relative;
}

#app-navbar {
  height: 40px;
  width: 100%;
  background: rgb(30 30 30 / 85%);
  position: sticky;
  top: 0px;
  left: 0;
  z-index: 2;
  backdrop-filter: blur(16px) saturate(180%);
}

#app-content {
  background-color: var(--color2);
  height: 100%;
  width: 100%;
  overflow-y: scroll;
  overflow-y: overlay;
  overflow-x: hidden;
  border-radius: 10px 0px 0px 0px;
  border-left: 1px solid rgb(0 0 0 / 25%);
  border-top: 1px solid rgb(0 0 0 / 25%);
  position: relative;
}

.content-inner {
  position: absolute;
  top: var(--navigationBarHeight);
  left: 0;
  padding: 32px;
  width: 100%;
  transition: zoom 1s;
  zoom: 1;
}

.content-inner.centered {
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.app-drawer {
  width: 300px;
  flex: 0 0 auto;
  position: absolute;
  right: 16px;
  top: 3%;
  background: #1c1c1c8f;
  border-radius: 12px;
  z-index: 9;
  height: 94%;
  backdrop-filter: blur(40px) saturate(180%);
  box-shadow: var(--ciderShadow-Generic);
  overflow: hidden;

  .bgArtworkMaterial {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;

    .bg-artwork-container .bg-artwork {
      filter: brightness(80%) blur(180px) saturate(180%) contrast(1);
    }
  }
}

.search-input-container {
  position: relative;
}

.search-input {
  width: 100%;
  padding: 6px;
  border-radius: 6px;
  border: 1px solid rgb(200 200 200 / 10%);
  font-family: inherit;
  font-size: 14px;
  background: rgb(100 100 100 / 25%);
  color: rgb(200 200 200);
  font-weight: 500;
  padding-left: 32px;
  position: relative;
  filter: contrast(0.1);
}

.search-input:focus {
  outline: none;
  border-bottom: 1px solid var(--keyColor);
}

.search-input--icon {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  background-image: url('assets/search.svg');
  background-position: 10px;
  background-repeat: no-repeat;
  background-size: 12px;
  pointer-events: none;
  opacity: 0.55;
}

.app-sidebar-header {
  font-size: 14px;
  padding: 11px;
  font-weight: 600;
}

.app-sidebar-header-text {
  font-size: 11px;
  margin: 6px 3px;
  font-weight: 600;
  opacity: 0.50;
}

.app-sidebar-footer {
  padding: 11px;

  .app-playback-controls {
    .control-buttons {
      display: flex;
      justify-content: center;
      align-content: center;
    }

    .volume {
      display: flex;
    }
  }
}

.app-sidebar-button {
  width: 100%;
  padding: 0px;
  font-family: inherit;
  display: flex;
  border-radius: 6px;
  border: 1px solid rgb(200 200 200 / 5%);
  background: rgb(100 100 100 / 25%);
  color: #eee;
  font-weight: 500;
  align-items: center;

  &.active {
    background: rgb(200 200 200 / 15%);
    animation: usermenuBtnClick .30s cubic-bezier(0.36, 0, 0.66, -0.56);
  }
}

@keyframes usermenuBtnClick {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-6px);
  }

  100% {
    transform: translateY(0px);
  }
}

.app-sidebar-button > .sidebar-user-icon {
  width: 32px;
  height: 32px;
  border-radius: 100%;
  background-image: var(--artwork);
  margin: 10px;
  flex: 0 0 auto;
  box-shadow: var(--mediaItemShadow);
  background-size: contain;
}

.app-sidebar-button > .sidebar-user-text {
  width: 100%;
  display: flex;
  font-size: 14px;
  flex-direction: column;
  text-align: center;
  margin-right: 35px ;
}

.app-sidebar-button > .sidebar-user-text .fullname {
  text-align: left;
}

.app-sidebar-button > .sidebar-user-text .handle-text {
  font-size: 12px;
  opacity: 0.7;
  text-align: left;
}

.app-sidebar-notification {
  text-align: center;
  font-size: 12px;
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid rgb(200 200 200 / 15%);
  background: rgb(0 0 0 / 15%);
  flex-direction: column;
  padding: 20px 0px;

  &.libraryNotification {
    flex-direction: row;
    padding: 0px;

    .message {
      flex-grow: 1;
    }

    .spinner {
      width: 46px;
      height: 30px;
      margin-left: 1em;
    }
  }
}

.app-sidebar-content {
  padding: 8px;
  overflow-y: scroll;
  overflow-y: overlay;
  height: 100%;
}

#cmenu() {
  .container {
    position: absolute;
    width: 100%;
    padding: 10px;
    z-index: 1;
  }

  .body {
    background: #242424;
    padding: 6px;
    border-radius: 6px;
    width: 100%;
    box-shadow: var(--ciderShadow-Generic);
  }

  .item {
    background: transparent;
    display: block;
    width: 100%;
    text-align: left;
    color: #eee;
    font-family: inherit;
    font-size: 15px;
    padding: 8px 12px;
    border: 0px;
    appearance: none;
    border-radius: 6px;
    margin: 2px 0px;

    &:hover {
      background: var(--keyColor);
    }
  }
}

.search-hints-container {
  top: 44px;
  #cmenu.container();

  .search-hints {
    #cmenu.body();

    .search-hint {
      #cmenu.item();
    }
  }
}

.usermenu-container {
  bottom: 66px;
  #cmenu.container();

  .usermenu-body {
    #cmenu.body();

    .usermenu-item {
      #cmenu.item();
        
      .usermenu-item-icon {
        position:relative;
        top:1.5px;
        right:3px;
        display:table-cell;
      }

      .usermenu-item-name {
        position:relative;
        bottom:2px;
        padding-left: 5px;
        display:table-cell;
      }
    }
  }
}

.context-menu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.0);
  z-index: 100;

  .context-menu-item {
    background: transparent;
    display: flex;
    width: 100%;
    text-align: left;
    color: #eee;
    font-family: inherit;
    font-size: 14px;
    padding: 6px 12px;
    border: 0px;
    appearance: none;
    border-radius: 6px;
    margin: 2px 0px;

    &:hover {
      background: var(--selected);
      cursor: pointer;
    }

    &:active {
      background: var(--selected-click);
    }
  }

  .context-menu-body {
    background: #242424;
    padding: 6px;
    border-radius: 6px;
    box-shadow: var(--ciderShadow-Generic);

    &.context-menu-open {
      animation-duration: .10s;
      animation-name: contextMenuIn;
      animation-iteration-count: 1;
      animation-easings: var(--appleEase);
    }

    &.context-menu-close {
      animation-duration: .10s;
      animation-name: contextMenuOut;
      animation-iteration-count: 1;
      animation-easings: var(--appleEase);
    }
  }
}

@keyframes contextMenuIn {
  0% {
    transform: scale(0.9);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes contextMenuOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(0.9);
    opacity: 0;
  }
}

.hidden-opacity {
  opacity: 0;
  height: 0px;
  width: 0px;
  margin: 0px;
}

.spinner {
  background-image: url("assets/spinner.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 50px;
  height: 50px;
  display: inline-block;
}

.app-sidebar-content::-webkit-scrollbar {
  display: none;
}

.app-sidebar-content:hover::-webkit-scrollbar {
  display: initial;
}

.app-sidebar-item {
  display: flex;
  width: 100%;
  padding: 8px 12px;
  font-weight: 400;
  font-family: inherit;
  font-size: 14px;
  margin: 6px 0px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #eee;
  transition: transform .1s;
  text-align: left;

  &.app-sidebar-item-playlist {
    -webkit-user-drag: element;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.app-sidebar-item:hover {
  border: 1px solid rgb(200 200 200 / 5%);
  background: rgb(200 200 200 / 15%);
}

.app-sidebar-item:active {
  border: 1px solid rgb(200 200 200 / 5%);
  background: rgb(200 200 200 / 15%);
  transform: scale(0.98);
  transition: transform 0s;
}

.app-sidebar-item.active {
  border: 1px solid rgb(200 200 200 / 5%);
  background: rgb(200 200 200 / 15%);
  transform: scale(1);
  transition: transform 0s;
}

.app-sidebar-item.active::after {
  content: '';
  width: 4px;
  height: 16px;
  display: block;
  position: absolute;
  top: calc(100% - 72%);
  border-radius: 10px;
  left: 0px;
  background: var(--keyColor);
}

.app-chrome {
  background: var(--color1);
  width: 100%;
  height: var(--chromeHeight);
  display: flex;
  flex-direction: row;
  -webkit-app-region: drag;
}

.mv-chrome {
  position: absolute;
  top: 0;
  right: 0;
  width: 90%;
  height: 55px;
  -webkit-app-region: drag;
}

.app-chrome .app-chrome--left,
.app-chrome .app-chrome--center,
.app-chrome .app-chrome--right {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.app-chrome .app-chrome--left {
  width: 30%;
  justify-content: left;
}

.app-chrome .app-chrome--center {
  width: 100%;
}

.app-chrome .app-chrome--right {
  width: 30%;
  justify-content: right;
}

.app-chrome .app-chrome-item {
  height: 100%;
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-app-region: no-drag;
  height: auto;
}

.app-chrome .app-chrome-item.generic {
  width: 50px;
  opacity: 0.70;
}

.app-chrome .app-chrome-item.volume {
  width: 100px;
  margin-right: 6px;
}

.volume-button {
  background-image: url("./assets/feather/volume-2.svg");
  height: 15px;
  width: 30px;
  padding: 0px;
  background: transparent;
  border: 0px;
  border-radius: 0px;
  box-shadow: unset;
  background-size: 12px;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.70;
  border-radius: 6px;
}

.volume-button:active, .volume-button--small:active {
  transform: scale(0.9);
}

.volume-button.active, .volume-button--small.active {
  background-image: url("./assets/feather/volume.svg");
}

.volume-button--small {
  border-radius: 6px;
  color: inherit;
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  height: 15px;
  width: 30px;
  border: 0px;
  box-shadow: unset;
  opacity: 0.70;
  background-image: url("./assets/feather/volume-2.svg");
}

.app-chrome .app-chrome-item.volume > input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: rgb(50 50 50);
  cursor: default;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.4);
  transition: all var(--appleTransition);
}

.app-chrome .app-chrome-item.volume > input[type=range]::-webkit-slider-thumb:hover {
  background-image: radial-gradient(var(--keyColor) 2px, transparent 3px, transparent 10px);
  transform: scale(1.2);
}

.app-chrome .app-chrome-item.volume > input[type=range]::-webkit-slider-thumb:active {
  background-image: radial-gradient(var(--keyColor) 3px, transparent 4px, transparent 10px);
  transform: scale(1);
}

.app-chrome .app-chrome-item.volume > input[type=range] {
  -webkit-appearance: none;
  height: 4px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 5px;
  background-size: 70% 100%;
  background-repeat: no-repeat;
  width: 100%,
}

.app-chrome .app-chrome-item.volume > input[type=range]::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  background: transparent;
}

.app-chrome .back-button {
  height: 100%;
  width: 60px;
}

.app-chrome .app-chrome-item.full-height {
  height: 100%;
}

.app-chrome .app-chrome-item > .app-title {
  width: 100px;
  font-size: 13px;
  background: url("./AppHeader.svg");
  background-size: 95px;
  background-repeat: no-repeat;
  background-position: center;
  height: 100%;
  margin-right: 16px;
  margin-left: 16px;
  image-rendering: -webkit-optimize-contrast;
  -webkit-app-region: drag;
}

.app-chrome .app-chrome-item > .window-controls {
  width: 138px;
  font-size: 13px;
  height: 100%;
  display: flex;
}

.app-chrome .app-chrome-item > .window-controls > div {
  height: 100%;
  width: 32px;
}

.app-chrome .app-chrome-item > .window-controls > div:hover {
  background: rgb(200 200 200 / 10%);
}

.app-chrome .app-chrome-item > .window-controls > div.close {
  width: 100%;
  height: 100%;
  background-image: var(--gfx-closeBtn);
  background-position: center;
  background-repeat: no-repeat;
  -webkit-app-region: no-drag;

  &:hover {
    background-color: rgb(196, 43, 28)
  }
}

.app-chrome .app-chrome-item > .window-controls > div.minmax {
  background-image: var(--gfx-maxBtn);
  background-position: center;
  background-repeat: no-repeat;
  -webkit-app-region: no-drag;
  width: 100%;
  height: 100%;
}

.app-chrome .app-chrome-item > .window-controls > div.minmax.restore {
  background-image: var(--gfx-restoreBtn);
}

.app-chrome .app-chrome-item > .window-controls > div.minimize {
  background-image: var(--gfx-minBtn);
  background-position: center;
  background-repeat: no-repeat;
  -webkit-app-region: no-drag;
  width: 100%;
  height: 100%;
}

.app-chrome .app-chrome-item.playback-controls {
  width: 80%;
  height: 90%;
  display: flex;
  max-width: 500px;
  border-left: 1px solid rgb(200 200 200 / 8%);
  border-right: 1px solid rgb(200 200 200 / 8%);
}

.app-chrome .app-chrome-item > .app-playback-controls {
  display: flex;
  justify-content: center;
  align-content: center;
  width: 100%;
}

.app-chrome .app-chrome-item > .app-playback-controls .song-name {
  font-weight: 600;
  text-align: center;
  font-size: 13px;
  height: 1.3em;
  line-height: 1.3em;
  white-space: nowrap;
  max-width: 360px;

  .song-name-normal {
    height: inherit;
  }

  &.song-artist-marquee {
    > marquee {
      //margin-bottom: -3px;
    }
  }

  .explicit-icon {
    background-image: url("./assets/explicit.svg");
    height: 9px;
    width: 36px;
    filter: contrast(0);
    background-repeat: no-repeat;
    margin-left: 3px;
  }
}

.app-chrome .app-chrome-item > .app-playback-controls .song-duration p {
  font-weight: 400;
  font-size: 10px;
  height: 1.2em;
  line-height: 1.3em;
  overflow: hidden;
  margin: 0 0 0 0.25em;
}

.app-playback-controls:hover .marquee{
  animation: unset; 
  &.song-artist{
    overflow: hidden;
  }
  .song-artist{
    overflow: hidden;
  }
  &.song-name{
    overflow: hidden;
  }
  &::after{
    content: none !important;
    display: none;
  }
}


.marquee{
  animation: marquee 15s linear infinite; 
  &.song-artist{
    overflow: unset ;
  }
  .song-artist{
    overflow: unset ;
  }
  &.song-name{
    overflow: unset ;
  }
  &::after{
    content: attr(data-value);
  }
}




.app-chrome .app-chrome-item > .app-playback-controls .song-progress {
  @bgColor: transparent;
  //height: 16px;
  position: absolute;
  bottom: 0px;
  left: 0px;
  background: @bgColor;

  &:hover {
    > input[type=range] {
      &::-webkit-slider-thumb {
        opacity: 1;
        transform: scale(1);
        z-index: 1;
      }
    }
  }

  > input[type=range] {
    appearance: none;
    width: 100%;
    height: 4px;
    background-color: rgb(200 200 200 / 10%);
    border-radius: 2px;

    &::-webkit-slider-thumb {
      opacity: 0;
      transform: scale(0.5);
      -webkit-appearance: none;
      appearance: none;
      width: 12px;
      height: 12px;
      border-radius: 100%;
      background: var(--keyColor);
      cursor: default;
      transition: opacity .10s var(--appleEase), transform .10s var(--appleEase);
    }

    &::-moz-range-thumb {
      width: 8px;
      height: 8px;
      border-radius: 100%;
      background: var(--keyColor);
      cursor: default;
    }
  }
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-140%);
  }
}

.app-chrome .app-chrome-item > .app-playback-controls .artwork {
  width: 42px;
  height: 42px;
  background-image: var(--artwork);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 4px;
  flex: 0 0 auto;
  margin: 6px;
  box-shadow: inset 0px 0px 0px 1px rgb(200 200 200 / 25%);
  image-rendering: -webkit-optimize-contrast;
}

.app-chrome .app-chrome-item > .app-playback-controls .actions {
  width: 42px;
  height: 42px;
  border-radius: 2px;
  flex: 0 0 auto;
  margin: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: contrast(0.8);

  .lcdMenu {
    height: 100%;
    width: 100%;
    padding: 0px;
    margin: 0px;
    background: transparent;
    border: 0px;
    appearance: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;

    &:focus {
      outline: none;
    }
    &:hover {
      background: var(--hover);
    }
    &:active {
      background: var(--selected-click);
      transform: scale(0.95);
    }
    .svg-icon {
      --url: url('views/svg/more.svg')!important;
    }
  }
}

.app-chrome .app-chrome-item > .app-playback-controls .playback-info {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.app-chrome .app-chrome-item > .app-playback-controls .playback-info > .song-progress{
  width: 100%;
}

.app-navigation {
  background: var(--color1);
  height: calc(100% - var(--chromeHeight));
  width: 100%;
  display: flex;
  position: relative;
}
.app-chrome .app-chrome-item > .app-playback-controls > div >.song-artist-album {
  font-weight: 400;
  font-size: 12px;
  text-align: center;
  /*height: 1.2em;
  line-height: 1.2em;*/
  z-index: 1;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 340px;
  overflow: hidden;

  .song-artist-album-content{
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    width:100%;

    &.song-artist-normal {
      height: inherit;
    }
  }
  

  &.song-artist-marquee {
    > marquee {
      margin-bottom: -3px;
    }
  }
}

.display--small {
  display: none !important;
}

.web-slider.display--small {
  margin: 10px;
}

input[type="range"].web-slider.display--small::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: rgb(50 50 50);
  cursor: default;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.4);
}

/* Window is smaller <= 1023px width */
@media only screen and (max-width: 1023px) {
  .display--small {
    display: inherit !important;;

    .slider {
      width: 100%;
      z-index: 1;
    }

    .input-container {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      padding-bottom: 10px;
    }

    input[type=range] {
      -webkit-appearance: none;
      height: 4px;
      background: rgba(255, 255, 255, 0.4);
      border-radius: 5px;
      background-size: 70% 100%;
      background-repeat: no-repeat;

      &::-webkit-slider-thumb {
        -webkit-appearance: none;
        height: 14px;
        width: 14px;
        border-radius: 50%;
        background: rgb(50 50 50);
        cursor: default;
        box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.4);
        transition: all var(--appleTransition);
      }
      
      &::-webkit-slider-thumb:hover {
        background-image: radial-gradient(var(--keyColor) 2px, transparent 3px, transparent 10px);
        transform: scale(1.2);
      }
      
      &::-webkit-slider-thumb:active {
        background-image: radial-gradient(var(--keyColor) 3px, transparent 4px, transparent 10px);
        transform: scale(1);
      }

      &::-webkit-slider-runnable-track {
        -webkit-appearance: none;
        box-shadow: none;
        border: none;
        background: transparent;
      }
    }
  }



  .display--large {
    display: none !important;
  }
}

.header-text {
  margin: 0px;
}

.media-item--small {
  background: rgb(0 0 0 / 25%);
  height: 162px;
  width: 132px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}

.media-item--small .artwork {
  background: red;
  margin: 6px;
  border-radius: 100%;
  width: 90px;
  height: 90px;
  box-shadow: inset 0px 0px 0px 1px rgb(200 200 200 / 30%);
}

.playlist-artwork {
  height: 190px;
  width: 190px;
  background: blue;
  border-radius: 6px;
  background: var(--artwork);
  background-size: cover;
  box-shadow: var(--mediaItemShadow);
  flex: 0 0 auto;
  margin: 6px;
  margin-top: 0px;
}

.media-item--small .text {
  font-weight: 600;
  font-size: 0.90em;
}

.media-item--small .subtext {
  font-size: 0.75em;
}

.player-duration-time {
  opacity: 0.5;
}

.player-artwork-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.player-duration-container {
  font-size: 0.85em;
  font-weight: 500;
}

.media-artwork {
  --artwork: url("");
  width: 80vw;
  height: 80vw;
  max-height: 500px;
  max-width: 500px;
  background: black;
  background-image: var(--artwork);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  box-shadow: inset 0px 0px 0px 1px rgb(200 200 200 / 16%), 0 8px 40px rgb(0 0 0 / 0.55);
  transition: transform .10s var(--appleEase);
}

.media-artwork.paused {
  transition: transform .35s var(--appleEase);
  transform: scale(0.85);
}

.playback-slider {
  width: 90%;
}

.volume-slider {
  width: 100%;
}

.volume-slider-container {
  width: 90%;
  margin: 0 auto;
  padding: 0px;
}

.volume-slider-container .col-auto,
.volume-slider-container .col {
  display: flex;
  align-items: center;
  justify-self: center;
  padding: 0px;
  margin: 0px;
}

.playback-button {
  font-size: 2em;
  width: 40px;
  height: 36px;
  padding: 0px;
  background: transparent;
  border: 0px;
  border-radius: 0px;
  box-shadow: unset;
  background-size: 12px;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.70;
  border-radius: 6px;
}

.playback-button:active {
  transform: scale(0.95);
}

.playback-button--small {
  border-radius: 6px;
  font-size: 1em;
  color: inherit;
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  width: 40px;
  height: 32px;
  border: 0px;
  box-shadow: unset;
  opacity: 0.70;
}

.playback-button:hover,
.playback-button--small:hover {
  background-color: rgb(200 200 200 / 10%);
}

.playback-button:active,
.playback-button--small:active {
  transform: scale(0.9);
}

.playback-button--small.active {
  background-color: rgb(200 200 200 / 25%);
}

.playback-button--small.search {
  background-image: url("./assets/search.svg");
}

.playback-button--small.cast {
  background-image: url("./assets/cast_white.svg");
}

.playback-button--small.miniplayer {
  background-image: url("./assets/pip.svg");
}

.playback-button--small.queue {
  background-image: url("./assets/list.svg");
}

.playback-button--small.lyrics {
  background-image: url("./assets/quote-right.svg");
}

.playback-button--small.shuffle {
  background-image: url("./assets/shuffle.svg");
}

.playback-button--small.repeat {
  background-image: url("./assets/repeat.svg");
}

.playback-button--small.repeat.repeatOne {
  background-color: rgb(200 200 200 / 25%);
  background-image: url("./assets/repeatOne.svg");
}

.playback-button.pause {
  background-image: url('./assets/pause.svg');
}

.playback-button.play {
  background-image: url('./assets/play.svg');
}

.playback-button.next {
  background-image: url('./assets/forward.svg');
}

.playback-button.previous {
  background-image: url('./assets/backward.svg');
}

.playback-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
}

.player-volume-glyph {
  width: 32px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.player-volume-glyph.decrease {
  background-image: url("./assets/volume.svg");
  opacity: 0.5;
}

.player-volume-glyph.increase {
  background-image: url("./assets/volume-2.svg");
  opacity: 0.5;
}

.player-track-info {
  width: 90%;
  margin: 0 auto;
}

.player-song-title {
  font-size: 1.25em;
  text-align: left;
  margin: 0 auto;
  font-weight: 500;
}

.player-song-artist {
  font-size: 1.0em;
  text-align: left;
  margin: 0 auto;
  color: var(--keyColor);
  font-weight: 400;
}

.player-song-artist:hover {
  cursor: pointer;
  text-decoration: underline;
}

.player-more-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.player-more-button {
  appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0px;
  background: var(--keyColor);
  cursor: pointer;
  box-shadow: inset 0px 0px 0px 1px rgb(200 200 200 / 16%);
  color: white;
  font-weight: bold;
  padding: 0px;
  font-size: 16px;
}

.back-button {
  width: 40px;
  height: 40px;
  background-color: transparent;
  background-size: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("./assets/arrow-left.svg");
  border: 0px;
  border-radius: 0px;
}

.header-text {
  height: 40px;
  display: flex;
  align-items: center;

}


.flex-center {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.list-entry-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  font-size: 1em;
  font-family: inherit;
}

.list-entry {
  display: flex;
  align-items: center;
  /* justify-content: space-between; */
  padding: 12px;
  font-size: 1em;
  font-family: inherit;
  border-bottom: 1px solid rgba(255 255 255 / 0.1);
  cursor: pointer;
}

.list-entry-image {
  --artwork: url("");
  width: 64px;
  height: 64px;
  background: var(--artwork);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
  box-shadow: inset 0px 0px 0px 1px rgb(200 200 200 / 16%), 0 8px 40px rgb(0 0 0 / 0.55);
}

.list-entry-image.artist {
  border-radius: 50%;
}

.list-entry-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-left: 12px;
}

.list-entry-name {
  font-size: 14px;
  font-weight: 500;
  overflow: hidden;
  width: 100%;
}

.list-entry-artist {
  font-size: 12px;
  overflow: hidden;
  width: 100%;
}

.list-entry .handle {
  height: 100%;
  width: 28px;
  background: var(--keyColor);
  display: flex;
  justify-content: center;
  align-items: center;
}

.md-container {
  width: 100%;
  position: relative;
}

.search-panel {
  background: rgb(0 0 0 / 50%);
}

.search-header {
  position: absolute;
  width: 100%;
  z-index: 1;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgb(200 200 200 / 8%);
}

.connection-error-panel {
  background: rgb(0 0 0 / 50%);
}

.search-type-container {
  display: flex;
}

.search-type-button {
  background: rgb(20 20 20 / 0.85);
  border-radius: 50px;
  color: white;
  border: 0px;
  box-shadow: unset;
  font-family: inherit;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  margin: 8px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.search-type-button.active {
  background: var(--keyColor);
}

.search-tab-container {
  overflow: auto;
  white-space: nowrap;
  overflow-y: hidden;
}

.search-body-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.search-body {
  position: absolute;
  width: 100%;
  height: 100%;
  padding-top: 220px;
}

.search-tab {
  background: rgb(20 20 20 / 0.85);
  border-radius: 50px;
  color: white;
  border: 0px;
  box-shadow: unset;
  font-family: inherit;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
}

.search-tab.active {
  background: var(--keyColor);
}

.lyric-body {
  -webkit-mask-image: -webkit-gradient(linear, left 95%, left bottom, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
  overflow-y: scroll;
  overflow-x: hidden;
  display: flex;
  flex-flow: column;
  font-family: 'Inter', 'Noto Sans JP', 'Source Han Sans SC', 'Source Han Sans HK', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans KR', sans-serif;
}

.lyric-body .no-lyrics {
  width: 100%;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 26px;
}

.lyric-line {
  --bgSpeed: 1s;
  appearance: none;
  color: white;
  font-size: 26px;
  transform: scale(0.8);
  transform-origin: left center;
  transition: transform 0.2s var(--appleEase);
  opacity: 0.75;
  width: auto;
  display: inline-block;
  margin: 10px;
  margin-left: 5%;
  margin-right: 0px;
}

.lyric-line.active .verse {
  opacity: 0.6;
}

.lyric-line.active .verse.verse-active {
  opacity: 1;
}

.lyric-line:hover {
  cursor: pointer;
}

.lyric-line:hover::after {
  content: ' ';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1.06);
  background: rgba(200, 200, 200, 0.1);
  pointer-events: none;
  border-radius: 10px;
  -webkit-backface-visibility: hidden;
}

.lyric-line.active {
  --bgSpeed: 1s;
  opacity: 1;
  transform: scale(1);
  /*background: var(--keyColor);*/
  transition: transform 0.2s var(--appleEase);
}

.lyric-line:not(.active) {
  filter: blur(1px)
}

.lyric-line:not(.active).unsynced {
  filter: none !important;
}

.lyric-line.unsynced {
  filter: none !important;
}

.lyricWaiting {
  margin-top: 8px;
  display: none;
}

.lyric-line.active .lyricWaiting {
  display: inline-flex;
  animation: lyricWaitingLine 6s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}


.lyric-line.active .lyricWaiting > div {
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
  margin: 3px;
}

.lyrics-translation {
  font-size: 1.6rem;
  font-weight: 450;
  font-family: 'Inter', 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans KR', sans-serif;
  filter: contrast(0.5);
}

.lyric-footer {
  bottom: 0;
  height: 50px;
  width: 100%;
  position: absolute;
  z-index: 1000;
  opacity: 1;
  background: rgba(30, 30, 30, 0.8);
  justify-content: center;
  align-items: center;
  display: none;
  transition: opacity 0.1s var(--appleEase);
}

.lyric-body:hover + .lyric-footer, .lyric-footer:hover {
  display: flex;
}

.modular-fs .app-drawer .lyric-footer {
  background: unset;
  display: flex;
  opacity: 0.3;
}

.modular-fs .app-drawer .lyric-footer:hover {
  opacity: 1;
}

.modular-fs .app-drawer .lyric-body .no-lyrics {
  height: 100%;
  display: flex;
}

@keyframes lyricWaitingLine {
  0% {
    opacity: 0.25;
    transform: scale(0.85);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }

  100% {
    opacity: 0.25;
    transform: scale(0.85);
  }
}

@keyframes dotOpacity {
  0% {
    opacity: 0.25;
  }

  100% {
    opacity: 1;
  }
}


.lyric-line2:before {
  background: var(--keyColor);
  content: '';
  width: 0%;
  height: 6px;
  position: absolute;
  bottom: -8px;
  left: 0;
  border-radius: 10px;
  z-index: -1;
  transition: width var(--bgSpeed);
}

.lyric-line2.active:before {
  width: 100%;
  transition: width var(--bgSpeed);
}

.player_top {
  height: 100%;
}

.home-page {
  top: 0;
  padding-top: var(--navbarHeight);

  .artist-feed-card {
    position: absolute;
    bottom: 0;
    left: 10%;
    z-index: 1;
    background: black;
    width: 80%;
    height: 96%;
    overflow: scroll;
    border-radius: 10px;
  }

  .col.madeforyou-col {
    width: 420px;
    min-width: 0px;
    max-width: 420px;
  }

  .well.artistfeed-well {
    margin-top: 0px;
    height: 392px;
    align-content: flex-start;
  }

  .hint-text {
    font-size: 0.9rem;
    color: rgb(200 200 200 / 70%);
  }

  .user-icon {
    border-radius: 100%;
    width: 128px;
    height: 128px;
    overflow: hidden;
    box-shadow: var(--mediaItemShadow-Shadow);
    margin: 16px;
  }

  .well.profile-well {
    flex-direction: column;
    justify-content: center;
    align-items: center;

    .name {
      margin: 4px;
      font-weight: 500;
    }

    .handle {
      margin: 4px;
      opacity: 0.7;
      font-weight: 500;
    }
  }
}

/* Cider */

.more-btn-round {
  border-radius: 100%;
  background: rgba(100, 100, 100, 0.5);
  box-shadow: var(--ciderShadow-Generic);
  width: 32px;
  height: 32px;
  border: 0px;
  cursor: pointer;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;

  &:hover {
    filter: brightness(125%);
  }

  &:active {
    filter: brightness(75%);
    transform: scale(0.98);
    transition: transform 0s var(--appleEase), box-shadow 0.2s var(--appleEase);
  }

  .svg-icon {
    width: 100%;
    background: #eee;
    --url: url("./views/svg/more.svg");
  }
}

.about-page {
  .teamBtn {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 14px;
    padding: 6px 16px;
    margin: 4px;

    > img {
      width: 30px;
      margin: 0px 16px 0px 0px;
      pointer-events: none;
      border-radius: 100%;
      box-shadow: var(--mediaItemShadow);
      image-rendering: -webkit-optimize-contrast;
    }
  }

  .sponsorBtn {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    > img {
      width: 26px;
      margin: 0px 16px 0px 0px;
      pointer-events: none;
    }
  }
}

.md-close-btn {
  -webkit-mask-image: url("ameres://icons/webui/close.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background-color: white;
  opacity: 0.75;
  -webkit-mask-size: contain;
  height: 18px;
  width: 18px;
}

.md-btn {
  background: rgb(100 100 100 / 25%);
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 14px;
  border: 1px solid rgba(100, 100, 100, 0.35);
  border-top: 1px solid rgba(100, 100, 100, 0.5);
  color: #eee;
  transition: transform 0.2s var(--appleEase), box-shadow 0.2s var(--appleEase);

  &.md-btn-block {
    display: block;
    width:100%;
  }

  &.md-btn-glyph {
    display:flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  &.md-btn-primary {
    background: #ff2b52a6;
    color: white;
    border: 1px solid rgb(220 53 69 / 25%);
    border-top: 1px solid rgb(220 53 69 / 50%);
  }

  &:hover {
    filter: brightness(125%);
  }

  &:active {
    filter: brightness(75%);
    transform: scale(0.98);
    transition: transform 0s var(--appleEase), box-shadow 0.2s var(--appleEase);
  }

  &.md-btn-icon {
    display: inline-flex;
    vertical-align: middle;
    justify-content: center;

    > img {
      margin: 0px 16px 0px 0px;
      pointer-events: none;
    }

    > .md-btn-text {
      margin: 0px;
    }
  }
}

.md-ico-play {
  content:url("./assets/play.svg");
  width: 10px;
  height: 12px; 
  margin-right: 1px;
  align-self: center;
}

.md-ico-shuffle {
  content:url("./assets/shuffle.svg");
  width: 1em;
  height: 1em;
  margin-right: 1px;
  margin-bottom: -2px;
  align-self: center;
}

.md-ico-remove {
  content:url("./assets/feather/x-circle-white.svg");
  width: 16px;
  height: 16px; 
  margin-right: 1px;
  margin-bottom: -1.5px;
  align-self: center;
}

.md-ico-add {
  content:url("./assets/feather/plus-circle-white.svg");
  width: 1em;
  height: 1em;
  margin-right: 1px;
  margin-bottom: -1.5px;
  align-self: center;
}

.md-select {
  padding: 6px;
  border-radius: 6px;
  border: 1px solid rgba(200, 200, 200, 0.1);
  border-top: 1px solid rgba(100, 100, 100, 0.5);
  font-family: inherit;
  font-size: 14px;
  background: rgba(100, 100, 100, 0.25);
  color: #eee;

  option {
    font-size: 1em;
    font-family: inherit;
    padding: 8px 16px;
    background: #404040;
  }

  optgroup {
    background: #2c2c2c;
  }

  &:focus {
    outline: solid 1px var(--selected);
  }
}

.sidebar-playlist {
  .folder-button-active {
    background: rgb(255 255 255 / 12%);
  }

  .folder-body {
    background: #ffffff0a;
    border-radius: 10px;
    padding: 1px 6px;

    .spinner {
      display: block;
      width: 100%;
      height: 32px;
      background-size: 16px;
    }
  }
}

.modal-fullscreen {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1000;

  .modal-window {
    background: #333;
    border-radius: 10px;
    box-shadow: var(--mediaItemShadow-Shadow);
    display: flex;
    flex-flow: column;
    max-height: 500px;
    max-width: 360px;
    background: #121212;
    width: 100%;
    position: relative;

    &:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      box-shadow: var(--mediaItemShadow);
      z-index: 1;
      border-radius: inherit;
    }

    .modal-header {
      width: 100%;
      padding: 6px;
    }

    .modal-content {
      width: 100%;
      height: 100%;
      overflow: hidden;
      overflow-y: overlay;
    }

    .modal-footer {
    }
  }
}

.spatialproperties-panel {
  .modal-window {
    height: 700px;
    max-height: 700px;
    width: 800px;
    max-width: 800px;
    overflow: hidden;

    .info-header {
      padding-left: 12px;
    }

    .visual-container {
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
    }

    .visual {
      position: relative;
      height: 250px;
      width: 300px;
      display: inline-flex;
      align-items: flex-end;
      justify-content: center;
      filter: drop-shadow(2px 12px 6px rgb(0 0 0 / 25%));
      margin: 0 auto;

      .face {
        position: absolute;
        width: calc(12px * 6);
        height: calc(12px * 6);
        border-radius: 6px;
        transform: rotateX(60deg) rotateZ(-45deg);
        transition: transform 0.2s linear, width 0.2s linear, height 0.2s linear;
      }

      .listener {
        position: absolute;
        width: 32px;
        height: 32px;
        border-radius: 6px;
        transform: rotateX(60deg) rotateZ(-45deg);
        transition: transform 0.2s linear, width 0.2s linear, height 0.2s linear;
        background: white;
        color: black;
        z-index: 2;
      }

      .audiosource {
        position: absolute;
        width: 32px;
        height: 32px;
        border-radius: 6px;
        transform: rotateX(60deg) rotateZ(-45deg);
        transition: transform 0.2s linear, width 0.2s linear, height 0.2s linear;
        background: yellow;
        z-index: 2;
      }

      .face:nth-of-type(1) {
        background: linear-gradient(45deg, #28223a, #1f2038);
        z-index: 1;
      }

      .face:nth-of-type(2) {
        background: linear-gradient(45deg, #7d53ad, #5763ff);
        transform: rotateX(60deg) rotateZ(-45deg) translateZ(30px);
        opacity: 0.7;
        z-index: 3;
      }
    }

    .modal-header {
      padding: 16px;
      position: relative;
      overflow: hidden;

      .modal-title {
        text-align: center;
      }

      .close-btn {
        width: 50px;
        height: 100%;
        background-image: var(--gfx-closeBtn);
        background-position: center;
        background-repeat: no-repeat;
        -webkit-app-region: no-drag;
        appearance: none;
        border: 0;
        background-color: transparent;
        position: absolute;
        top: 0;
        right: 0;

        &:hover {
          background-color: rgb(196, 43, 28)
        }
      }
    }
  }
}

.addtoplaylist-panel {
  .modal-window {
    max-height: 600px;
    max-width: 400px;
    background: rgb(18 18 18 / 90%);
    overflow: hidden;
    backdrop-filter: blur(16px) saturate(180%);

    .modal-header {
      padding: 16px;
      position: relative;

      .modal-title {
        text-align: center;
      }

      .close-btn {
        width: 50px;
        height: 100%;
        background-image: var(--gfx-closeBtn);
        background-position: center;
        background-repeat: no-repeat;
        -webkit-app-region: no-drag;
        appearance: none;
        border: 0;
        background-color: transparent;
        position: absolute;
        top: 0;
        right: 0;

        &:hover {
          background-color: rgb(196, 43, 28)
        }
      }
    }

    .modal-search {
      width: 100%;
      padding: 0px 16px;
      position: relative;
    }

    .playlist-item {
      appearance: none;
      border: 0px;
      text-align: left;
      width: 100%;
      margin: 0;
      display: flex;
      background: rgba(32, 32, 32, 0.46);
      color: #eee;
      font-family: inherit;
      font-size: 0.98em;
      padding: 6px 12px;
      align-items: center;
      flex-flow: row;

      .icon {
        pointer-events: none;
        width: 32px;
        height: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 6px;
      }

      .name {
      }

      &:hover {
        background: var(--selected);
      }

      &:active {
        background: var(--selected-click);
      }

      &.focused {
        background: var(--keyColor);
      }
    }

    .playlist-item:last-child {
      border-bottom: 0px;
    }
  }
}

#navigation-bar {
  width: 100%;
  background: rgba(0, 0, 0, 0.25);
  height: var(--navigationBarHeight);
  display: flex;
  align-items: center;
  padding: 0px 6px;
  z-index: 7;
  position: sticky;
  top: 0;
  left: 0;
  backdrop-filter: blur(32px);
  //box-shadow: 0px 1px 0px rgba(185, 185, 185, 0.08);
  mix-blend-mode: hard-light;

  .nav-item {
    appearance: none;
    border: 0px;
    height: 32px;
    width: 40px;
    background: transparent;
    padding: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(200, 200, 200, 0.8);
    margin: 2px;
    border-radius: 6px;
    transition: transform .10s var(--appleEase);

    &:active {
      background: var(--selected-click);
      transform: scale(0.96);
      transition: transform 0s var(--appleEase);
    }

    > svg {
      width: 8px;
      pointer-events: none;
    }

    &:hover {
      background: var(--selected);

      > svg {
        color: rgba(200, 200, 200, 1.0);
      }
    }
  }
}

.reload-btn {
  background: rgb(86 86 86 / 52%);
  border-radius: 100%;
  width: 32px;
  height: 32px;
  border: 0px;
  appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.reload-btn:hover {
  background: rgb(86 86 86 / 80%);
  cursor: pointer;
}

.reload-btn > svg {
  height: 50%;
  color: #eee;
}

.wr-btn {
  font-family: inherit;
  appearance: none;
  border: 0px;
  border-radius: 6px;
  padding: 8px;
  font-weight: 600;
  background: rgb(80 80 80 / 70%);
  color: white;
}

.well {
  background: rgba(200, 200, 200, 0.05);
  border-radius: 10px;
  padding: var(--contentInnerPadding);
  box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  margin-top: 16px;
  display: flex;
  flex-flow: wrap;
  justify-content: center;

  > .cd-mediaitem-square {
    width: 220px;
    height: 260px;
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    font-size: 14px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    max-width: 240px;
    flex-grow: 1;
  }
}

// Library - Songs page
.library-page {
  padding: 0px;

  .library-header {
    position: sticky;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(200, 200, 200, 0.05);
    z-index: 6;
    background: black;
    padding: 0px 2em;
    backdrop-filter: blur(32px);
    background: rgba(0, 0, 0, 0.25);
    top: var(--navigationBarHeight);
  }

  .well {
    margin: 2em;
  }
}

// Podcast Page
.content-inner.podcasts-page {
  display: flex;
  height: calc(100% - var(--navigationBarHeight));
  padding: 0px;

  .list-flat {
    border-radius: 0px;
  }

  .podcast-artwork {
    width: 200px;
    margin: 16px auto;
    height: 200px;
  }

  .podcasts-list {
    height: 100%;
    width: 280px;
    background: rgb(200 200 200 / 10%);
    overflow-y: overlay;
    border-right: 1px solid var(--color2);
    flex: none;
    overflow-x: hidden;

    .podcast-list-header {
      border-bottom: 1px solid var(--color2);
      font-size: 0.7em;
      padding: 6px;
      background: #ffffff17;
      text-transform: uppercase;
      font-weight: 600;
      opacity: 0.5;
    }

    .podcasts-search {
      padding: 10px;
      position: sticky;
      top: 0;
      left: 0;
      width: 100%;
      border-bottom: 1px solid var(--color2);
      z-index: 2;
      background: #303030;
    }
  }

  .episodes-list {
    height: 100%;
    width: 100%;
    background: rgb(200 200 200 / 6%);
    overflow-y: overlay;
    overflow-x: hidden;

    .episodes-inline-info {
      padding: 14px 14px 0px 14px;

      .podcast-show-info {
        display: flex;
        justify-content: center;
        flex-direction: column;
      }

      .podcast-show-description {
        margin: 32px 6px;
        font-size: 0.8rem;
        white-space: pre-wrap;
        display:block;
      }

      .podcast-artwork {
        width: 120px;
        margin: 0px auto;
        height: 120px;
      }
    }

    .podcast-no-search-results {
      text-align: center;
      margin-top: 40px;
    }
  }

  .podcasts-details {
    width: 300px;
    flex: none;
    background: rgb(255 255 255 / 5%);
    overflow-y: overlay;
    overflow-x: hidden;
    top: 2%;
    z-index: 2;
    border-left: 1px solid var(--color2);
    padding-bottom: 1em;

    .meta-btn {
      font-size: 0.75em;
    }

    .podcasts-details-header {
      display: flex;
      justify-content: end;
      align-items: center;
      position: sticky;
      top: 0;
      z-index: 2;
    }
    .close-btn {
      width: 50px;
      height: 42px;
      background-image: var(--gfx-closeBtn);
      background-position: center;
      background-repeat: no-repeat;
      -webkit-app-region: no-drag;
      appearance: none;
      border: 0;
      background-color: transparent;
      position: absolute;
      top: 0;
      right: 0;

      &:hover {
        background-color: rgb(196, 43, 28)
      }
    }

    .podcast-genre {
      text-align: center;
      margin: 6px;
      font-size: 0.8em;
      font-weight: 500;
      opacity: 0.8;
    }

    .podcast-metainfo {
      text-align: center;
      font-size: 0.7em;
      opacity: 0.8;
    }

    .podcast-header {
      text-align:center;
    }

    .podcast-play-btn {
      width: 50%;
      display: block;
      margin: 0 auto;
    }

    .podcast-description {
      margin: 12px;
      font-size: 0.75em;
      white-space: pre-wrap;
      display:block;
      line-break: anywhere;
    }

    
  }

}

@media only screen and (max-width: 1230px) {
  .content-inner.podcasts-page {
    .podcasts-details {
      height: 96%;
      width: 300px;
      flex: none;
      background: rgb(20 20 20 / 97%);
      overflow-y: overlay;
      overflow-x: hidden;
      position: absolute;
      right: 2%;
      top: 2%;
      border-radius: 10px;
      box-shadow: var(--ciderShadow-Generic);
      z-index: 2;
    }
  }
}



/* Album / Playlist Page */
.playlist-page {
  --bgColor: transparent;
  padding: 0px;
  //background: linear-gradient(180deg, var(--bgColor) 32px, var(--bgColor) 18px, transparent 60px, transparent 100%);
  top: 0;
  padding-top: var(--navigationBarHeight);

  .playlist-body {
    padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding);
    margin-top: -75px;
  }

  .floating-header {
    position: sticky;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(200, 200, 200, 0.05);
    z-index: 6;
    padding: 0px 1em;
    backdrop-filter: blur(32px);
    background: rgba(0, 0, 0, 0.25);
    top: var(--navigationBarHeight);
    transition: opacity 0.1s var(--appleEase);
  }

  .playlist-display {
    padding: var(--contentInnerPadding);
    min-height: 300px;
    position: relative;

    .artworkContainer {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: 0;
      margin-top: calc(var(--navigationBarHeight) * -1);
      margin-bottom: -10px;
      padding: 0;
      -webkit-mask-image: radial-gradient(at top left, black, transparent 70%), radial-gradient(at top right, black, transparent 70%), linear-gradient(180deg, rgb(200 200 200), transparent 98%);
      opacity: .7;
      animation: playlistArtworkFadeIn 1s var(--appleEase);

      .artworkMaterial>img {
        filter: brightness(100%) blur(80px) saturate(100%) contrast(1);
        object-position: center;
        object-fit: cover;
        width: 100%;
        height: 100%;
        transform: unset;
      }
    }

    .playlistInfo {
      z-index: 1;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      top: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;

      >.row {
        width: calc(100% - 32px);
      }

      .playlist-info {
        flex-shrink: unset;
        display: flex;
        flex-flow: column;
        justify-content: flex-end;

        .playlist-name {
          font-weight: 700;
          font-size: 1.6rem;
          margin-bottom: 6px;
          margin-right: 6px;
          flex-shrink: unset;
        }

        .nameEdit {
          font-weight: 700;
          font-size: 1.6rem;
          margin-bottom: 6px;
          margin-right: 6px;
          flex-shrink: unset;
          background: transparent;
          border: 0px;
          color: inherit;
          font-family: inherit;
        }

        .playlist-artist {
          font-size: 20px;
          margin-bottom: 6px;
          margin-right: 6px;
          flex-shrink: unset;
        }

        .playlist-desc {
          box-sizing: border-box;
          font-size: 14px;
          flex-shrink: unset;
          margin-right: 5px;
          max-height: 100px;
          position: relative;

          .content {
            height: 100px;
            -webkit-mask-image: -webkit-gradient(linear, left 50%, left 90%, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
          }

          .more-btn {
            appearance: none;
            position: absolute;
            right: 0;
            bottom: 0;
            padding: 0 5px;
            font-size: 14px;
            color: var(--keyColor);
            background-color: transparent;
            border: 0px;
            cursor: pointer;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            font-weight: 600;
            font-family: inherit;
            text-transform: uppercase;
          }
        }

        .playlist-desc-expanded {
          box-sizing: border-box;
          font-size: 14px;
          position: relative;

          .more-btn {
            appearance: none;
            position: absolute;
            right: 0;
            bottom: 0;
            padding: 0 5px;
            font-size: 14px;
            color: var(--keyColor);
            background-color: transparent;
            border: 0px;
            cursor: pointer;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
            font-weight: 600;
            font-family: inherit;
            text-transform: uppercase;
          }
        }
      }
    }


  }

  .friends-info {
    display: flex;
    flex-flow: column;

    .badge-container {
      display: flex;
      flex-flow: wrap;

      .socialBadge {
        width: 40px;
        height: 40px;
        border-radius: 100%;
        overflow: hidden;
        box-shadow: var(--mediaItemShadow-ShadowSubtle);
        transition: transform .2s var(--appleEase);
        margin: 6px;

        &:hover {
          transform: scale(1.2);
        }
      }
    }

    .friends-name {
      text-align: center;
      font-size: 0.9em;
      margin: 8px;
    }
  }

  .playlist-time {
    font-size: 0.9em;
    margin: 6px;
    opacity: 0.7;
  }
}

@keyframes playlistArtworkFadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 0.7;
  }
}
// Collection Page
.collection-page {
  padding-bottom: 128px;

  .top-fab {
    height: 52px;
    width: 52px;
    position: fixed;
    bottom: 32px;
    right: 32px;
    border-radius: 100%;
    background: rgb(60 60 60);
    border: 0px;
    appearance: none;
    box-shadow: var(--ciderShadow-Generic);

    > svg {
      height: 50%;
      color: #eee;
      pointer-events: none;
    }

    &:hover {
      background: rgb(100 100 100);
    }

    &:active {
      background: var(--keyColor);
    }
  }

  .header-text {
    margin-bottom: 32px;
  }
}

/* Artist Page */

.artist-page {
  padding: 0px;
  top: 0;

  .floating-header {
    position: sticky;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(200, 200, 200, 0.05);
    z-index: 6;
    padding: 0px 1em;
    backdrop-filter: blur(32px);
    background: rgba(0, 0, 0, 0.25);
    top: var(--navigationBarHeight);
    transition: opacity 0.1s var(--appleEase);
  }

  &.animated .artist-header .more-btn-round {
    position: absolute;
    bottom: 22px !important;
    right: 28px;
  }

  .artist-header {
    //background: linear-gradient(45deg, var(--keyColor), #0e0e0e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 400px;
    position: relative;
    pointer-events: none;

    .header-content {
      z-index: 1;
    }


    .artworkContainer {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: 0;
      padding: 0;
      -webkit-mask-image: radial-gradient(at top left, black, transparent 70%), radial-gradient(at top right, black, transparent 70%), linear-gradient(180deg, rgb(200 200 200), transparent 98%);
      opacity: .7;
      animation: playlistArtworkFadeIn 1s var(--appleEase);

      .artworkMaterial>img {
        filter: brightness(100%) blur(80px) saturate(100%) contrast(1);
        object-position: center;
        object-fit: cover;
        width: 100%;
        height: 100%;
        transform: unset;
      }
    }

    .more-btn-round {
      position: absolute;
      bottom: 82px;
      right: 28px;
    }

    .animated {
      width: 100%;
      height: 100%;
      align-self: center;
      position: absolute;
      overflow: hidden;
      box-shadow: rgb(0 0 0 / 50%) 0 0 0 1000000px inset;

      video {
        overflow: hidden;
        height: 100%;
        width: 100%;
        min-height: 56.25vw;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }

    .row .col.flex-center {
      z-index: 4;
    }
  }

  .artist-image {
    width: 200px;
    height: 200px;
    margin: 32px;
    margin-top: -5px;
    position: relative;

    .overlay-play {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      background: rgb(0 0 0 / 50%);
      transition: opacity 0.1s var(--appleEase);
      border-radius: 100%;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      appearance: none;
      border: 0px;
      padding: 0px;

      &:hover {
        opacity: 1;
      }

      &:active {
        background: var(--selected-click);
      }

      > svg {
        width: 70%;
      }
    }
  }

  .artist-play {
    width: 32px;
    height: 32px;
    background: rgba(100, 100, 100, 0.5);
    box-shadow: var(--ciderShadow-Generic);
    border-radius: 100%;
    box-shadow: var(--mediaItemShadow);
    display: none;
    cursor: pointer;
    appearance: none;
    border: 0px;
    padding: 0px;

    &:hover {
      filter: brightness(125%);
    }

    &:active {
      filter: brightness(75%);
      transform: scale(0.98);
      transition: transform 0s var(--appleEase), box-shadow 0.2s var(--appleEase);
    }
  }
  .artist-title {

    .artist-play {
      transform: translateY(3px);
      margin: 14px;
    }

    &.artist-animation-on {
      width: 100%;
      flex: unset;
      margin-left: 0.5em;
      color: whitesmoke;
      position: absolute;
      bottom: 0;

      .artist-play {
        display: block;
      }
    }
  }

  .artist-body {
    padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding);
    margin-top: -140px;
  }

  &.animated > .artist-body {
    padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding);
    margin-top: -57px;
  }

  .showmoreless {
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    background: transparent;
    border: 0px;
    border-radius: 6px;
    appearance: none;
    color: var(--keyColor);
    padding: 8px 12px;
    cursor: pointer;
    margin-top: 12px;
    float: right;
  }

  .showmoreless:hover {
    background: rgb(200 200 200 / 10%);
  }
}

/* Artist Page End */

.text-overflow-elipsis {
  display: -webkit-box;
  min-width: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}


.mediaitem-artwork {
  border-radius: var(--mediaItemRadius);
  overflow: hidden;
  flex: 0 0 auto;
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url("https://beta.music.apple.com/assets/product/MissingArtworkMusic.svg");
  background-size: cover;
  background-position: center;

  .animatedartwork-view-box {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;

    .animated {
      position: absolute;
      top: 0px;
      width: 100%;
      height: 100%;

      video {
        width: 100%;
        height: 100%;
      }
    }
  }

  &.rounded {
    border-radius: 100%;

    &::after {
      border-radius: 100%;
    }
  }

  &::after {
    content: "";
    box-shadow: var(--mediaItemShadow);
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: inherit;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast;
    pointer-events: none;
  }

  &.no-shadow {
    box-shadow: none;

    &::after {
      display: none;
    }
  }

  &.subtle-shadow {
    box-shadow: var(--mediaItemShadow-ShadowSubtle);
  }

  &.shadow {
    box-shadow: var(--mediaItemShadow-Shadow);
  }
}

.menu-panel {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;

  .menu-header-body {
    padding: 6px;
    display: flex;
    background: rgb(200 200 200 / 10%);
    .menu-option-header {
      width: 40px;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: var(--mediaItemRadius);
      appearance: none;
      border: 0;
      background: transparent;

      &.active {
        .sidebar-icon>.svg-icon {
          --color: var(--keyColor);
        }
      }

      &:hover {
        background: var(--selected);
      }

      &:active {
        background: var(--selected-click);
      }
    }
  }
  .menu-panel-body {
    display: flex;
    flex-flow: column;
    background: rgb(38 38 38);
    position: relative;
    min-width: 200px;
    box-shadow: var(--ciderShadow-Generic);
    border-radius: var(--mediaItemRadius);
    overflow: hidden;
    font-size: 14px;

    .menu-option {
      text-align: left;
      display: flex;
      width: 100%;
      padding: 12px 16px;
      appearance: none;
      border: 0px;
      font: inherit;
      background: transparent;
      color: inherit;

      &:hover {
        background: var(--selected);
      }

      &:active {
        background: var(--selected-click);
      }
    }
  }


  .menu-header-text {
    margin: 18px 6px;

    .close-btn {
      width: 50px;
      height: 42px;
      background-image: var(--gfx-closeBtn);
      background-position: center;
      background-repeat: no-repeat;
      -webkit-app-region: no-drag;
      appearance: none;
      border: 0;
      background-color: transparent;
      position: absolute;
      top: 0;
      right: 0;

      &:hover {
        background-color: rgb(196, 43, 28)
      }
    }
  }

  .menu-body {
    overflow: overlay;
    height: 100%;
  }

  .menu-footer {
    width: 100%;
    padding: 12px;
  }
}

.queue-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-flow: column;

  .queue-header-text {
    margin: 18px 6px;
  }

  .queue-body {
    overflow: overlay;
    height: 100%;
  }

  .queue-footer {
    width: 100%;
    padding: 12px;
  }

  .autoplay {
    background: rgb(200 200 200 / 15%);
    display: flex;
    justify-content: center;
    appearance: none;
    border: 0;
    border-radius: 6px;
    height: 32px;
    width: 32px;
  }
  .infinity{
    content: url("./assets/infinity.svg");
    margin: auto;
  }
}

/* queue item */
.cd-queue-item {
  border-bottom: 1px solid rgb(200 200 200 / 10%);
  padding: 8px;

  .row,
  .col {
    padding: 0px;
    margin: 0px;
  }

  .artwork {
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
  }

  &.selected {
    background: var(--selected);
  }

  &:active {
    background: var(--selected-click);
    color: #eee;
  }

  .queue-info {
    display: flex;
    flex-direction: column;

    .queue-title {
      font-size: 14px;
    }

    .queue-subtitle {
      font-size: 13px;
      opacity: 0.85;
    }
  }
}

/* horizontal media scroller */
.cd-hmedia-scroller {
  margin: 0 auto;
  display: flex;
  flex-flow: row;
  overflow-x: scroll;
  overflow-y: hidden;
  height: 284px;
  align-items: center;

  &::-webkit-scrollbar-thumb {
    box-shadow: none;
  }

  &:hover::-webkit-scrollbar-thumb {
    box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
  }

  &.small {
    overflow-x: overlay;
    height: 210px;
  }

  &.hmedia-scroller-card {
    height: 370px;

    .mediaitem-card {
      margin: 12px;
    }
  }
}

/* mediaitem-list-item */
.cd-mediaitem-list-item {
  width: 100%;
  height: 60px;
  display: flex;
  flex: 0 0 auto;
  flex-direction: row;
  font-size: 14px;
  justify-content: center-between;
  align-items: center;
  border-radius: var(--mediaItemRadius);

  .artwork {
    height: 42px;
    width: 42px;
    border-radius: var(--mediaItemRadius);
    object-fit: cover;
    object-position: center;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    margin: 12px;
    border: 0px;
    outline: none;
    position: relative;
    overflow: hidden;

    .overlay-play {
      background: rgba(0, 0, 0, 0.5);
      opacity: 0;
      appearance: none;
      border: 0;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding: 0px;
      z-index: 5;
      cursor: pointer;

      &:hover {
        opacity: 1;
      }

      &:active {
        background: var(--selected-click);
      }
    }
  }

  .artwork.round {
    border-radius: var(--mediaItemRadiusRound);
  }

  .info-rect {
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    flex-grow: 1;
  }

  .title {
    width: 100%;
  }

  .subtitle {
    width: 90%;
    font-size: .8em;
    opacity: 0.7;
  }

  .duration {
    min-width: 60px;
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .metainfo {
    min-width: 145px;
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .explicit-icon {
    background-image: url("./assets/explicit.svg");
    height: 12px;
    width: 36px;
    filter: contrast(0);
    background-repeat: no-repeat;
  }

  /* CSS.gg
  */
  @keyframes load-bar {
    10% {box-shadow: inset 0 -4px 0}
    20% {box-shadow: inset 0 -10px 0}
    30% {box-shadow: inset 0 -12px 0}
    40% {box-shadow: inset 0 -8px 0}
    50% {box-shadow: inset 0 -4px 0}
    60% {box-shadow: inset 0 -6px 0}
    80% {box-shadow: inset 0 -12px 0}
    90% {box-shadow: inset 0 -6px 0}
    to {box-shadow: inset 0 -2px 0}
  }

  .loadbar-sound,
  .loadbar-sound::after,
  .loadbar-sound::before {
    animation: load-bar 1.3s ease infinite alternate;
    box-sizing: border-box;
    width: 3px;
    height: 28px;
    box-shadow: inset 0 -12px 0;
  }
  .loadbar-sound {
    margin-left: 22px;
    margin-top: -16px;
    position: relative;
    transform: scale(var(--load-bar,1));
    color: var(--keyColor);
    display: block;
  }
  .loadbar-sound::after,
  .loadbar-sound::before {
    content: "";
    position: absolute;
    bottom: 0
  }
  .loadbar-sound::before {
    left: -4.5px;
    animation-delay: -2.4s
  }
  .loadbar-sound::after {
    right: -4.2px;
    animation-delay: -3.7s
  }

  .isLibrary {
    flex: 0 0 auto;
    width: 40px;
    text-align: center;

    button {
      appearance: none;
      border: 0px;
      background: transparent;
      cursor: pointer;
      filter: contrast(0.8);
    }
  }

  &:hover {
    background: rgb(200 200 200 / 10%);
    box-shadow: var(--mediaItemShadow);

    .overlay-play {
      opacity: 1;
    }
  }

  &.mediaitem-selected {
    background: var(--selected);
    box-shadow: var(--mediaItemShadow);
  }


  &:active {
    background: var(--selected-click);
    box-shadow: var(--mediaItemShadow);
    color: #eee;
  }

  //  list item compact
  &.compact {
    height: 40px;
    font-size: 13px;

    .artwork {
      display: none;
    }

    .info-rect {
      padding-left: 1em;
    }
  }
}

/* mediaitem-hrect */
.cd-mediaitem-hrect {
  background: rgb(255 255 255 / 18%);
  width: 264px;
  height: 100px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: row;
  font-size: 14px;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  cursor: pointer;

  .artwork {
    height: 70px;
    width: 70px;
    background: blue;
    border-radius: var(--mediaItemRadius);
    background: var(--artwork);
    background-size: contain;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    margin: 18px;
  }

  .artwork.round {
    border-radius: var(--mediaItemRadiusRound);
  }

  .info-rect {
    width: 100%;
  }

  .title {
    width: 100%;
    text-align: center;
  }

  .subtitle {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }
}

/* mediaitem-square-sp */
.cd-mediaitem-square-sp {
  --spcolor: var("");
  width: 190px;
  height: 250px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: 14px;
  justify-content: flex-start;
  align-items: center;
  border-radius: 6px;
  margin-left: 10px;
  cursor: pointer;
  background-color: var(--spcolor);

  .artwork {
    height: 190px;
    width: 190px;
    background: blue;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background: var(--artwork);
    background-size: cover;
    flex: 0 0 auto;
    margin: 6px;
    margin-top: 0px;

    &.round {
      border-radius: var(--mediaItemRadiusRound);
    }

    &:hover {
      box-shadow: rgb(0 0 0 / 50%) 0 0 0 1000000px inset;
    }
  }

  .title {
    width: 90%;
    text-align: center;
  }

  .subtitle {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }

  > .cd-mediaitem-square-large-overlay {
    z-index: 3;

    &:hover {
      opacity: 1;
    }
  }

  + .cd-mediaitem-square-large-overlay {
    pointer-events: none;
  }

  &:hover + .cd-mediaitem-square-large-overlay {
    opacity: 1;

  }

  &:hover {
    box-shadow: rgb(0 0 0 / 50%) 0 0 0 1000000px inset;
  }
}


/* mediaitem-square-large */
.cd-mediaitem-square-large {
  width: 190px;
  height: 250px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: 14px;
  justify-content: flex-start;
  align-items: center;
  border-radius: 6px;
  margin-left: 10px;
  cursor: pointer;

  > * {
    z-index: inherit;
  }
}

.cd-mediaitem-square-large .artwork {
  height: 190px;
  width: 190px;
  background: blue;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: var(--artwork);
  background-size: cover;
  flex: 0 0 auto;
  margin: 6px;
  margin-top: 0px;
}

.cd-mediaitem-square-large-overlay {
  position: absolute;
  width: 190px;
  float: right;
  height: 250px;
  top: 0px;
  margin: 10px;
  margin-top: 0px;
  opacity: 0;

}

.cd-mediaitem-square-large-overlay > * {
  pointer-events: auto;

}

.cd-mediaitem-square-large > .cd-mediaitem-square-large-overlay {
  z-index: 3;
}

.cd-mediaitem-square-large > .cd-mediaitem-square-large-overlay:hover {
  opacity: 1;
}

.cd-mediaitem-square-large + .cd-mediaitem-square-large-overlay {
  pointer-events: none;

}

.cd-mediaitem-square-large:hover + .cd-mediaitem-square-large-overlay {
  opacity: 1;

}


.cd-mediaitem-square-large .artwork.round {
  border-radius: var(--mediaItemRadiusRound);
}

.cd-mediaitem-square-large .title {
  width: 90%;
  text-align: center;
}

.cd-mediaitem-square-large .subtitle {
  width: 100%;
  text-align: center;
  font-size: 12px;
}

/* mediaitem-mvview */

/* mediaitem-mvview */
.cd-mediaitem-mvview {
  width: 300px;
  height: 250px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: 14px;
  justify-content: flex-start;
  align-items: center;
  border-radius: 6px;
  margin-left: 10px;
  cursor: pointer;

  > * {
    z-index: inherit;
  }
}

.cd-mediaitem-mvview .artwork {
  height: 172px;
  width: 300px;
  background: blue;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: var(--artwork);
  background-size: cover;
  flex: 0 0 auto;
  margin: 6px;
  margin-top: 0px;
}

.cd-mediaitem-mvview-overlay {
  position: absolute;
  width: 300px;
  float: right;
  height: 250px;
  top: 0px;
  margin: 10px;
  margin-top: 0px;
  opacity: 0;

}

.cd-mediaitem-mvview-overlay > * {
  pointer-events: auto;

}

.cd-mediaitem-mvview > .cd-mediaitem-mvview-overlay {
  z-index: 3;
}

.cd-mediaitem-mvview > .cd-mediaitem-mvview-overlay:hover {
  opacity: 1;
}

.cd-mediaitem-mvview + .cd-mediaitem-mvview-overlay {
  pointer-events: none;

}

.cd-mediaitem-mvview:hover + .cd-mediaitem-mvview-overlay {
  opacity: 1;

}


.cd-mediaitem-mvview .artwork.round {
  border-radius: var(--mediaItemRadiusRound);
}

.cd-mediaitem-mvview .title {
  width: 90%;
  text-align: center;
}

.cd-mediaitem-mvview .subtitle {
  width: 100%;
  text-align: center;
  font-size: 12px;
}


/* mediaitem-square */
.cd-mediaitem-square {
  width: 220px;
  height: 260px;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: 14px;
  justify-content: center;
  align-items: center;
  border-radius: 6px;

  .artwork-container {
    position: relative;

    .artwork {
      height: 190px;
      width: 190px;
      background: blue;
      border-radius: var(--mediaItemRadius);
      background: var(--artwork);
      background-size: cover;
      flex: 0 0 auto;
      margin: 6px;
      cursor: pointer;

      &.round {
        border-radius: var(--mediaItemRadiusRound);
      }
    }

    .badge-container {
      transition: opacity 0.1s var(--appleEase);
      opacity: 1;

      .socialBadge {
        width: 32px;
        height: 32px;
        position: absolute;
        right: 14px;
        bottom: 14px;
        border-radius: 100%;
        overflow: hidden;
        z-index: 2;
        pointer-events: none;
      }
    }

    > .play-btn,
    > .menu-btn {
      opacity: 0;
      appearance: none;
      padding: 0px;
      border: 0px;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: rgba(50, 50, 50, 0.7);
      cursor: pointer;
      transition: opacity 0.1s var(--appleEase);

      :hover {
        border-radius: 50%;
        background: rgba(250, 0, 0, 0.7);
      }
    }

    > .play-btn {
      position: absolute;
      bottom: 14px;
      left: 14px;
      z-index: 2;

    }

    > .menu-btn {
      position: absolute;
      bottom: 14px;
      right: 14px;
      z-index: 2;
    }

    &:hover {
      > .badge-container {
        opacity: 0;
      }

      > .play-btn,
      > .menu-btn {
        opacity: 1;
      }
    }
  }

  .info-rect {
    width: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }


  .title {
    width: 100%;
    text-align: center;
    display: flex;
    align-content: center;
    justify-content: center;
  }

  .subtitle {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }

  &.mediaitem-video {
    height: 200px;
    width: 240px;

    .artwork {
      height: 120px;
      width: 212px;
    }
  }

  &.mediaitem-brick {
    height: 200px;
    width: 240px;

    .artwork {
      height: 123px;
      width: 220px;
    }
  }

  &.mediaitem-small {
    width: 140px;
    height: 180px;

    .artwork {
      height: 128px;
      width: 128px;
    }
  }

  &.mediaitem-card {
    background: #ccc;
    background: var(--spcolor);
    height: 298px;
    width: 230px;
    max-width: 250px;
    max-height: 500px;
    overflow: hidden;
    position: relative;
    border-radius: calc(var(--mediaItemRadius) * 2);
    box-shadow: var(--mediaItemShadow-ShadowSubtle);

    .artwork {
      width: 230px;
      height: 230px;
      overflow: hidden;
      border-radius: 0px;
      margin: 0;

      .mediaitem-artwork {
        border-radius: 0px;

        &::after {
          box-shadow: unset;
        }
      }
    }

    .info-rect-card {
      padding: 10px 10px 14px;
      position: relative;
      width: 100%;

      &::before {
        background: var(--bgartwork);
        content: "";
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        position: absolute;
        background-size: cover;
        background-position: bottom;
        z-index: 0;
        opacity: 1;
        filter: brightness(0.5) blur(50px) saturate(180%);
      }
    }

    .title {
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 0.9em;
      font-weight: 500;
      z-index: 1;
    }

    .subtitle {
      height: 100%;
      justify-content: center;
      align-items: center;
      font-size: 0.75em;
      width: 100%;
      display: flex;
      z-index: 1;
    }

    &::after {
      box-shadow: var(--mediaItemShadow);
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none;
      border-radius: inherit;
    }
  }
}

/* mediaitem-square */
.albums-square-containeru > * > .cd-mediaitem-square {
  --frame: max(220px, 15vw);
  width: var(--frame);
  height: calc(var(--frame) * 13 / 11);
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-size: calc(var(--frame) / 220 * 14);
  justify-content: center;
  align-items: center;
  border-radius: calc(var(--frame) / 220 * 6);

  .artwork-container {
    position: relative;

    .artwork {
      height: calc(var(--frame) * 19 / 22);
      width: calc(var(--frame) * 19 / 22);
      background: blue;
      border-radius: var(--mediaItemRadius);
      background: var(--artwork);
      background-size: cover;
      flex: 0 0 auto;
      margin: calc(var(--frame) / 220 * 6);
      cursor: pointer;

      &.round {
        border-radius: var(--mediaItemRadiusRound);
      }
    }

    > .play-btn,
    > .menu-btn {
      opacity: 0;
      appearance: none;
      padding: 0px;
      border: 0px;
      width: calc(var(--frame) / 220 * 30);
      height: calc(var(--frame) / 220 * 30);
      border-radius: 50%;
      background: rgba(50, 50, 50, 0.7);
      cursor: pointer;
      backdrop-filter: blur(32px) saturate(180%);
      transition: opacity 0.1s var(--appleEase);
    }

    > .play-btn {
      position: absolute;
      bottom: calc(var(--frame) / 220 * 14);
      left: calc(var(--frame) / 220 * 14);
      z-index: 2;
    }

    > .menu-btn {
      position: absolute;
      bottom: calc(var(--frame) / 220 * 14);
      right: calc(var(--frame) / 220 * 14);
      z-index: 2;
    }

    &:hover {

      > .play-btn,
      > .menu-btn {
        opacity: 1;
      }
    }
  }


  .title {
    width: 90%;
    text-align: center;
  }

  .subtitle {
    width: 100%;
    text-align: center;
    font-size: calc(var(--frame) / 220 * 12);
  }

  &.mediaitem-video {
    height: calc(var(--frame) / 220 * 200);
    width: calc(var(--frame) / 220 * 240);

    .artwork {
      height: calc(var(--frame) / 220 * 120);
      width: calc(var(--frame) / 220 * 212);
    }
  }

  &.mediaitem-brick {
    height: calc(var(--frame) / 220 * 200);
    width: calc(var(--frame) / 220 * 240);

    .artwork {
      height: calc(var(--frame) / 220 * 123);
      width: calc(var(--frame));
    }
  }
}

.cd-btn-seeall {
  background: transparent;
  border: 0px;
  color: var(--keyColor);
  font-family: inherit;
  font-weight: 500;
  font-size: 16px;
  border-radius: 4px;
  padding: 6px;

  &:hover {
    cursor: pointer;
    background: rgb(200 200 200 / 10%)
  }
}

.fullscreen-view-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}

.fullscreen-view {
  width: 100%;
  height: 100%;
  background: black;
  display: flex;
  justify-content: center;
  align-items: center;

  .fs-row {
    flex-grow: 1;
  }

  .playback-button--small.active {
    background-color: rgb(200 200 200 / 25%);
  }

  .playback-button--small {
    opacity: 0.7;
  }

  .right-col {
    height: 50vh;
  }

  @media only screen and (max-width: 1023px) {
    .display--large {
      display: flex !important;
    }
  }

  .display--large {
    display: flex;

    .slider {
      width: 100%;
      z-index: 1;
    }

    .input-container {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%
    }

    .volume-button--small {
      border-radius: 6px;
      color: inherit;
      background-size: 16px;
      background-repeat: no-repeat;
      background-position: center;
      background-color: transparent;
      height: 15px;
      width: 30px;
      border: 0px;
      box-shadow: unset;
      opacity: 0.70;
      background-image: url("./assets/feather/volume-2.svg");
    }

    .volume-button--small:active {
      transform: scale(0.9);
    }
    
    .volume-button--small.active {
      background-image: url("./assets/feather/volume.svg");
    }

    input[type=range] {
      -webkit-appearance: none;
      height: 4px;
      background: rgba(255, 255, 255, 0.4);
      border-radius: 5px;
      background-size: 70% 100%;
      background-repeat: no-repeat;

      &::-webkit-slider-thumb {
        -webkit-appearance: none;
        height: 14px;
        width: 14px;
        border-radius: 50%;
        background: rgb(50 50 50);
        cursor: default;
        box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.4);
        transition: all var(--appleTransition);
      }
      
      &::-webkit-slider-thumb:hover {
        background-image: radial-gradient(var(--keyColor) 2px, transparent 3px, transparent 10px);
        transform: scale(1.2);
      }
      
      &::-webkit-slider-thumb:active {
        background-image: radial-gradient(var(--keyColor) 3px, transparent 4px, transparent 10px);
        transform: scale(1);
      }

      &::-webkit-slider-runnable-track {
        -webkit-appearance: none;
        box-shadow: none;
        border: none;
        background: transparent;
      }
    }
  }


  .background {
    position: absolute;
    background-size: cover;
    width: 100%;
    height: 100%;

    .bgArtworkMaterial {
      position: absolute;
      width: 100%;
      height: 100%;

      .bg-artwork-container {
        z-index: unset;
      }

      .bg-artwork-container .bg-artwork {
        filter: brightness(85%) saturate(95%) blur(180px) contrast(0.9) opacity(0.9);
      }

      .no-animation {
        animation: unset;
      }
    }
  }


  .lyrics-col {

    height: 62vh;
    display: flex;
    justify-content: center;
    align-content: center;
    width: 80%;

    ::-webkit-scrollbar-thumb {
      box-shadow: unset;
    }

    &:hover ::-webkit-scrollbar-thumb {
      box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
    }

    .no-lyrics {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
    }

    .lyric-line {
      font-size: 35px;
    }

  }

  .queue-col {

    width: 60vh;
    height: 62vh;

    .queue-title {
      opacity: 0.6;
    }

    .queue-panel > * {
      z-index: 3;
    }

    ::-webkit-scrollbar-thumb {
      box-shadow: unset;
    }

    &:hover ::-webkit-scrollbar-thumb {
      box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
    }
  }

  .tab-toggles {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 15vh;
    height: 5vh;
    justify-content: space-evenly;

    .volume {
      background-image: url("./assets/feathers/volume.svg");
      padding: 0.5vh;
      width: 2vh;
      height: 2vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .queue {
      background-image: url("./assets/list.svg");
      padding: 0.5vh;
      width: 2.5vh;
      height: 2.5vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .lyrics {
      background-image: url("./assets/quote-right.svg");
      padding: 0.5vh;
      width: 2.5vh;
      height: 2.5vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .active {
      background-color: rgba(200, 200, 200, 0.7);
      border-radius: 3px;
    }
  }

  .artwork-col {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;

    .artwork {
      width: 50vh;
      height: 50vh;
    }

    .controls-parents {
      width: 50vh;
    }

    .app-playback-controls {
      .song-artist, .song-name {
        font-weight: 600;
        text-align: center;
        font-size: 0.9em;
        height: 1.2em;
        line-height: 0.9em;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 360px;

        .song-name-normal {
          height: inherit;
        }

        &.song-artist-marquee {
          > marquee {
            //margin-bottom: -3px;
          }
        }
      }

      .song-artist {
        font-size: 0.875em;
        font-weight: 400;
      }

      .song-name {
        width: unset !important;
        margin-top: 0.15vh;
        display: -webkit-box;
        line-height: 1.2;
        text-overflow: ellipsis;
        text-align: center;
      }
    }

    .app-playback-controls .playback-info {
      margin-top: 0.5vh;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      position: relative;

      input[type="range"] {
        width: 100%;
      }

      > div {
        width: 100%;
        text-align: center;
      }


    }

    .app-playback-controls .song-progress {
      @bgColor: transparent;
      //height: 16px;
      position: absolute;
      bottom: -1.5vh;
      left: 0px;
      background: @bgColor;

      .song-duration p {
        font-weight: 400;
        font-size: 10px;
        height: 1.2em;
        line-height: 1.3em;
        overflow: hidden;
        margin: 0 0 0 0.25em;
      }

      &:hover {
        > input[type=range] {
          &::-webkit-slider-thumb {
            opacity: 1;
            transform: scale(1);
            z-index: 1;
          }
        }
      }

      input[type=range] {
        appearance: none;
        width: 100%;
        height: 4px;
        background-color: rgb(200 200 200 / 10%);
        border-radius: 2px;

        &::-webkit-slider-thumb {
          opacity: 0;
          transform: scale(0.5);
          -webkit-appearance: none;
          appearance: none;
          width: 12px;
          height: 12px;
          border-radius: 100%;
          background: var(--keyColor);
          cursor: default;
          transition: opacity .10s var(--appleEase), transform .10s var(--appleEase);
        }

        &::-moz-range-thumb {
          width: 8px;
          height: 8px;
          border-radius: 100%;
          background: var(--keyColor);
          cursor: default;
        }
      }
    }

    .control-buttons {
      margin-top: 2vh;
      display: inline-flex;
      width: 100%;
      justify-content: center;
    }

  }
}

.mini-view {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;

  .fs-row {
    flex-grow: 1;
  }

  .playback-button--small.active {
    background-color: rgb(200 200 200 / 25%);
  }

  .player-exit {
    z-index: 3;
    position: absolute;
    top: 5px;
    right: 5px;
    -webkit-app-region: no-drag;
  }

  .player-pin {
    z-index: 3;
    position: absolute;
    min-width: 20px; 
    min-height: 20px;
    top: 5px;
    right: 30px;
    -webkit-app-region: no-drag;
  }
  
  #mini-pin{
    display: none;
  }

  .player-pin:hover #mini-pin {
    display: block;
  }

  .playback-button--small {
    opacity: 0.7;
  }

  .right-col {
    height: 50vh;
  }

  @media only screen and (max-width: 1023px) {
    .display--large {
      display: flex !important;
    }
  }

  .display--large {
    display: flex;

    .slider {
      width: 100%;
      z-index: 1;
    }

    .input-container {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%
    }

    .volume-button--small {
      border-radius: 6px;
      color: inherit;
      background-size: 16px;
      background-repeat: no-repeat;
      background-position: center;
      background-color: transparent;
      height: 15px;
      width: 30px;
      border: 0px;
      box-shadow: unset;
      opacity: 0.70;
      background-image: url("./assets/feather/volume-2.svg");
    }

    .volume-button--small:active {
      transform: scale(0.9);
    }
    
    .volume-button--small.active {
      background-image: url("./assets/feather/volume.svg");
    }

    input[type=range] {
      -webkit-appearance: none;
      height: 4px;
      background: rgba(255, 255, 255, 0.4);
      border-radius: 5px;
      background-size: 70% 100%;
      background-repeat: no-repeat;

      &::-webkit-slider-thumb {
        -webkit-appearance: none;
        height: 14px;
        width: 14px;
        border-radius: 50%;
        background: rgb(50 50 50);
        cursor: default;
        box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.4);
        transition: all var(--appleTransition);
      }
      
      &::-webkit-slider-thumb:hover {
        background-image: radial-gradient(var(--keyColor) 2px, transparent 3px, transparent 10px);
        transform: scale(1.2);
      }
      
      &::-webkit-slider-thumb:active {
        background-image: radial-gradient(var(--keyColor) 3px, transparent 4px, transparent 10px);
        transform: scale(1);
      }

      &::-webkit-slider-runnable-track {
        -webkit-appearance: none;
        box-shadow: none;
        border: none;
        background: transparent;
      }
    }
  }


  .background {
    position: absolute;
    background-size: cover;
    width: 100%;
    height: 100%;
    -webkit-user-select: none;
    -webkit-app-region: drag;

    .bgArtworkMaterial {
      position: absolute;
      width: 100%;
      height: 100%;

      .bg-artwork-container {
        z-index: unset;
      }

      .bg-artwork-container .bg-artwork {
        filter: brightness(85%) saturate(95%) blur(180px) contrast(0.9) opacity(0.9);
      }

      .no-animation {
        animation: unset;
      }
    }
  }


  .lyrics-col {

    height: 62vh;
    display: flex;
    justify-content: center;
    align-content: center;
    width: 80%;

    ::-webkit-scrollbar-thumb {
      box-shadow: unset;
    }

    &:hover ::-webkit-scrollbar-thumb {
      box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
    }

    .no-lyrics {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
    }

    .lyric-line {
      font-size: 35px;
    }

  }

  .queue-col {

    width: 60vh;
    height: 50vh;

    .queue-title {
      opacity: 0.6;
    }

    .queue-panel > * {
      z-index: 3;
    }

    ::-webkit-scrollbar-thumb {
      box-shadow: unset;
    }

    &:hover ::-webkit-scrollbar-thumb {
      box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%);
    }
  }

  .tab-toggles {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 15vh;
    height: 5vh;
    justify-content: space-evenly;

    .volume {
      background-image: url("./assets/feathers/volume.svg");
      padding: 0.5vh;
      width: 2vh;
      height: 2vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .queue {
      background-image: url("./assets/list.svg");
      padding: 0.5vh;
      width: 2.5vh;
      height: 2.5vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .lyrics {
      background-image: url("./assets/quote-right.svg");
      padding: 0.5vh;
      width: 2.5vh;
      height: 2.5vh;
      background-origin: content-box;
      background-repeat: no-repeat;
    }

    .active {
      background-color: rgba(200, 200, 200, 0.7);
      border-radius: 3px;
    }
  }

  .artwork-col {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;

    .artwork {
      width: 100%;
      height: 100%;

      .mediaitem-artwork{
        border-radius: unset;
      }
    }

    .controls-parents {
      width: 100%;
      position: absolute;
      background: #0000009e;
      backdrop-filter: blur(10px);
      bottom: 0px;
      z-index: 3;
      opacity: 0;
      padding: 3%;
      &:hover {
        opacity : 1;
      }
    }
    

    .app-playback-controls {
      -webkit-app-region: no-drag;

      .song-artist, .song-name {
        font-weight: 600;
        text-align: center;
        font-size: 0.9em;
        height: 1.2em;
        line-height: 0.9em;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 360px;

        .song-name-normal {
          height: inherit;
        }

        &.song-artist-marquee {
          > marquee {
            //margin-bottom: -3px;
          }
        }
      }

      .song-artist {
        font-size: 0.875em;
        font-weight: 400;
      }

      .song-name {
        width: unset !important;
        margin-top: 0.15vh;
        display: -webkit-box;
        line-height: 1.2;
        text-overflow: ellipsis;
        text-align: center;
      }
    }

    .app-playback-controls .playback-info {
      margin-top: 0.5vh;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      position: relative;

      input[type="range"] {
        width: 100%;
      }

      > div {
        width: 100%;
        text-align: center;
      }


    }

    .app-playback-controls .song-progress {
      @bgColor: transparent;
      //height: 16px;
      position: absolute;
      bottom: -3.5vh;
      left: 0px;
      background: @bgColor;

      .song-duration p {
        font-weight: 400;
        font-size: 10px;
        height: 1.2em;
        line-height: 1.3em;
        overflow: hidden;
        margin: 0 0 0 0.25em;
      }

      &:hover {
        > input[type=range] {
          &::-webkit-slider-thumb {
            opacity: 1;
            transform: scale(1);
            z-index: 1;
          }
        }
      }

      input[type=range] {
        appearance: none;
        width: 100%;
        height: 4px;
        background-color: rgb(200 200 200 / 10%);
        border-radius: 2px;

        &::-webkit-slider-thumb {
          opacity: 0;
          transform: scale(0.5);
          -webkit-appearance: none;
          appearance: none;
          width: 12px;
          height: 12px;
          border-radius: 100%;
          background: var(--keyColor);
          cursor: default;
          transition: opacity .10s var(--appleEase), transform .10s var(--appleEase);
        }

        &::-moz-range-thumb {
          width: 8px;
          height: 8px;
          border-radius: 100%;
          background: var(--keyColor);
          cursor: default;
        }
      }
    }

    .control-buttons {
      margin-top: 3.5vh;
      display: inline-flex;
      width: 100%;
      justify-content: center;
    }

  }
}

// Cider App

.mediaitem-list-item__grid {
  overflow-x: overlay;
  overflow-y: hidden;
  background: rgba(200, 200, 200, 0.05);
  border-radius: 10px;
  padding: var(--contentInnerPadding);
  box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  height: 300px;
  display: flex;
  align-items: center;
  .grid-body {
    display: grid;
    grid-auto-flow: column dense;
    grid-template-rows: auto auto auto auto;
    grid-gap: 0 6px;
    padding: 2px 0;
    justify-content: left;
    width: 0;
  }

  .cd-mediaitem-list-item {
    width: 350px;
    height: 60px;
  }
  
  &::-webkit-scrollbar {
    display: none;
  }
  
  &:hover::-webkit-scrollbar {
    display: initial;
    
  }
}

.settings-page {
  padding:0px;

  .md-option-header {
    padding: 1.25em 1.25em;
    border-bottom: unset;
    border-top: unset;
    font-weight: 600;
    font-size: 1.0em;
    background: rgb(255 255 255 / 3%);
  }
  .settings-option-body {
    margin: 16px;
  }
}

// sidebar icon
.svg-icon {
  --color: #aaa;
  --url: url("./assets/feather/share.svg");
  -webkit-mask-image: var(--url);
  -webkit-mask-size: cover;
  height: 18px;
  width: 18px;
  background: var(--color);
}

.sidebar-icon {
  width: 18px;
  height: 18px;
  margin-right: 8px;

  > .svg-icon {
    width: 100%;
    height: 100%;
    --color: #aaa;
  }

  > svg {
    width: 100%;
    height: 100%;
    color: #aaa;
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

// Modular
.modular-fs {
  .app-drawer {
    width: 100%;
    right: 0px;
    top: 0px;
    height: 100%;
    border-radius: 0px;
    box-shadow: unset;
    background: black;

    .bgArtworkMaterial {
      display: block;

      &::before {
        top: -50%;
        left: -20%;
        width: 200VH;
        height: 200VH;
      }
    }

    .lyric-body {
      justify-content: center;
      align-items: center;
      padding: 0px;
      margin: 0px;
      overflow: hidden;

      .lyric-line {
        pointer-events: none;
        font-weight: 500;
        font-size: 2em;
        transform-origin: center;
        animation: fsLyricIn var(--appleEase) .2s;
        opacity: 0.9;
        text-shadow: -1px -1px 0 #000,
          0   -1px 0 #000,
          1px -1px 0 #000,
        1px 0 0 #000,
        1px 1px 0 #000,
        0 1px 0 #000,
        -1px 1px 0 #000,
        -1px 0 0 #000;

        &:not(.active) {
          display: none;
          margin: 0;
          transform: scale(1);
        }

        &.active {
          margin: 0;
          transform: scale(1);
        }
      }
    }
  }
}

@keyframes fsLyricIn {
  0% {
    opacity: 0;
    transform: scale(0.98)
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

// Modular

/* Transitions */

.modal-enter-active,
.modal-leave-active {
  transition: opacity .1s var(--appleEase), transform .1s var(--appleEase);
}

.modal-enter,
.modal-leave-to {
  opacity: 0;
  transform: scale(1.10);
}

.wpfade-enter-active,
.wpfade-leave-active {
  transition: opacity .1s var(--appleEase);
}

.wpfade-enter,
.wpfade-leave-to {
  opacity: 0;
}

.wpfade_transform-enter-active,
.wpfade_transform-leave-active {
  transition: opacity .1s var(--appleEase), transform .1s var(--appleEase);
}

.wpfade_transform-enter,
.wpfade_transform-leave-to {
  transform: scale(0.90);
  opacity: 0;
}

.fabfade-enter-active,
.fabfade-leave-active {
  transition: transform .1s var(--appleEase), opacity .1s var(--appleEase);
}

.fabfade-enter,
.fabfade-leave-to {
  opacity: 0;
  transform: scale(0.5);
}

.fsModeSwitch-enter-active,
.fsModeSwitch-leave-active {
  transition: transform 1s var(--appleEase), opacity 1s var(--appleEase);
}

.fsModeSwitch-enter,
.fsModeSwitch-leave-to {
  transform: scale(1.10);
  opacity: 0;
}


.drawertransition-enter-active,
.drawertransition-leave-active {
  transition: right .25s var(--appleEase);
}

.drawertransition-enter,
.drawertransition-leave-to {
  right: -300px;
}

/* Transitions End */

// @media (prefers-color-scheme: light) {
//   :root {
//     /*  */
//     --gfx-closeBtn: url('');
//     --gfx-maxBtn: url('');
//     --gfx-restoreBtn: url('');
//     --gfx-minBtn: url('');
//   }
// }

@media (prefers-color-scheme: dark) {

}

:root {
  --gfx-closeBtn: url('');
  --gfx-maxBtn: url('');
  --gfx-restoreBtn: url('');
  --gfx-minBtn: url('');
}


#apple-music-video-container {
  background: black;
  position: absolute;
  float: left;
  display: none;
  width: 100%;
  height: calc(100% - var(--chromeHeight));
  bottom: 0;
  z-index: 100000;
}

#apple-music-video-player {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translate(0, -50%);
  height: 100%;
}

#apple-music-video-player-controls {
  position: absolute;
  z-index: 100001;
  float: left;
  width: 100%;
  height: 100%;
}

#apple-music-video-player-controls #player-exit {
  position: absolute;
  z-index: 100001;
  float: left;
  width: 100%;
  margin: 10px;
  cursor: pointer;
}

#apple-music-video-player-controls #player-pip {
  position: absolute;
  z-index: 100001;
  width: 32px;
  height: 32px;
  margin: 10px;
  right: 50px;
  border-radius: 100%;
  background: rgb(255 255 255 / 50%);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

#apple-music-video-player-controls #player-pip > svg {
  width: 50%;
}

#apple-music-video-player-controls #player-fullscreen {
  position: absolute;
  z-index: 100001;
  width: 32px;
  height: 32px;
  margin: 10px;
  right: 0px;
  border-radius: 100%;
  background: rgb(255 255 255 / 50%);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

#apple-music-video-player-controls #player-fullscreen > svg {
  width: 70%;
}

#apple-music-video-player-controls:hover {
  opacity: 1;
}

img[src=""] {
  text-indent: -10000px;
}

div#captions {
  font-size: 1.2rem;
  position: absolute;
  top: 85%;
  text-align: center;
  width: auto;
  align-self: center;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.6);
  color: yellow;
  white-space: pre-line;
  font-family: 'Inter', 'Noto Sans JP', 'Source Han Sans SC', 'Source Han Sans HK', 'Source Han Sans SC', 'Source Han Sans HK', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans HK', 'Noto Sans KR', sans-serif;
}

[v-cloak] {
  display: none !important
}

.item-navigate:hover {
  text-decoration: underline;
  cursor: pointer;
}

.title-browse-sp {
  width: 100%;
  text-align: left;
  margin-bottom: 2px;
}

.bold {
  font-weight: bold;
}

.semibold {
  font-weight: 500;
}

/* Switch Checkbox */
input[type=checkbox][switch] {
  width: 38px;
  appearance: none;
  border-radius: 32px;
  height: 24px;
  zoom: 1;
  top: 0;
  cursor: pointer;
  left: 0;
  position: relative;
  transform: scale(1);
  background: rgb(142 142 147 / 100%);
  padding: 0;
  margin: 0;
}

input[type=checkbox][switch]:focus,
input[type=checkbox][switch]:active {
  outline: none;
}

input[type=checkbox][switch]:checked {
  background: var(--keyColor);
  border: 0 solid var(--keyColor);
  mix-blend-mode: unset;

  &:hover {
    background: var(--keyColor-rollover);
  }

  &:active {
    background: var(--keyColor-pressed);
  }
}

input[type=checkbox][switch]::before {
  background: white;
  width: 26px;
  height: 26px;
  top: -1px;
  left: -1px;
  position: absolute;
  content: ' ';
  border-radius: 32px;
  transition: .10s left var(--appleEase);
  transform: scale(.75);
}


input[type=checkbox][switch]:checked::before {
  background: white;
  top: -1px;
  left: 13px;
  transition: .10s left var(--appleEase);
  transform: scale(.75);
}

input[type=checkbox][switch]:disabled::before {
  opacity: .5;
}

input[type=checkbox][switch]:active::before {
  left: 13px;
}

input[type=checkbox][switch]:checked:active::before {
  left: -1px;
}

/* End Switch Checkbox */

.madeforyou-body {
  margin-top: 15px;
}

.albums-square-container {
  text-align: center;
}

body.no-gpu {
  --ciderShadow-Generic: var(--mediaItemShadow);
  --mediaItemShadow-Shadow: var(--mediaItemShadow);
  --mediaItemShadow-ShadowSubtle: var(--mediaItemShadow);

  .bg-artwork-container {
    display: none;
  }

  #navigation-bar {
    backdrop-filter: unset;
    mix-blend-mode: unset;
    background: rgb(0 0 0);
  }

  .addtoplaylist-panel {
    .modal-window {
      background: rgb(18 18 18);
      backdrop-filter: unset;
    }
  }

  .app-drawer {
    backdrop-filter: unset;
    mix-blend-mode: unset;
    background: #1c1c1c;
  }

  .wpfade-enter-active,
  .wpfade-leave-active {
    transition: opacity 0s var(--appleEase);
  }

  .wpfade-enter,
  .wpfade-leave-to {
    opacity: 0;
  }

  .drawertransition-enter-active,
  .drawertransition-leave-active {
    transition: right 0s var(--appleEase);
  }

  .drawertransition-enter,
  .drawertransition-leave-to {
    right: -300px;
  }
}

.qrimg {
  width: -webkit-fill-available;
  max-block-size: -webkit-fill-available;
  object-fit: contain;
  overflow-x: hidden;
  overflow-y: hidden;
}

.equalizer-panel {
  .modal-window {
    height: 330px;
    max-height: 330px;
    width: 800px;
    max-width: 800px;
    overflow: hidden;

    .info-header {
      padding-left: 12px;
    }

    .visual-container {
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
    }

   
    .modal-header {
      padding: 16px;
      position: relative;
      overflow: hidden;

      .modal-title {
        text-align: center;
      }

      .close-btn {
        width: 50px;
        height: 100%;
        background-image: var(--gfx-closeBtn);
        background-position: center;
        background-repeat: no-repeat;
        -webkit-app-region: no-drag;
        appearance: none;
        border: 0;
        background-color: transparent;
        position: absolute;
        top: 0;
        right: 0;

        &:hover {
          background-color: rgb(196, 43, 28)
        }
      }
    }
    .modal-content{
      display: block;
      
      .inputs-container{
        margin-left: 8px;
      }

      .input-container{
        display: inline-grid;
        width: 54px;
        justify-items: center;
        font-size: 0.7em;
      }
      .input-container.mini{
        display: inline-grid;
        width: 43px;
        justify-items: center;
        font-size: 0.7em;
      }
      .freq-header{
        margin-bottom: 2px;
      }
      
      .reset-button{
        width: 50%;
        margin-left: 25%;
        text-align: center;
      }
      input.eq-slider {
        -webkit-appearance: slider-vertical;
        width: 5%;
      }
      input[type="number"]{
        padding: unset;
        width: 55px;
      }
      .header  input.eq-slider {
        -webkit-appearance: slider-vertical;
        width: 5%;
        opacity: 0;
      }
    }

    .modal-lowercontent {
      padding: 16px;
      background-color: var(--modalBackground);
    }
  }
}


@import url("less/compact.less");
